[CF1019C]Sergey's problem
题目大意
一个有向图无自环图,找到一个点集S满足:
点集内任意两个不同的点x和y,满足d(x,y)>=2。
对于任意一个不在点集内的点y,存在一个点集内的点x,满足d(x,y)<=2。
构造
对于任意图都存在解,构造性解法可以证明这点。
找到任意一点w,将w以及w的出边指向的点都删去,对剩余的图找到一个解S‘’。
如果存在一个u->w,且u在S’内,我们直接令S=S’,显然正确。
否则我们令S=S’ or {w},显然也正确。
#include<cstdio>
#include<algorithm>
#define fo(i,a,b) for(i=a;i<=b;i++)
using namespace std;
const int maxn=1000000+10;
int h[maxn],go[maxn*2],nxt[maxn*2];
bool bz[maxn],pd[maxn];
int i,j,k,l,t,n,m,now,tot;
int read(){int x=0,f=1;char ch=getchar();while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}while (ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f;
}
void add(int x,int y){go[++tot]=y;nxt[tot]=h[x];h[x]=tot;
}
void solve(){while (now<=n&&bz[now]) now++;if (now>n) return;int x=now;bz[x]=1;int t=h[x];while (t){if (t%2) bz[go[t]]=1;t=nxt[t];}solve();t=h[x];while (t){if (t%2==0) pd[x]|=pd[go[t]];t=nxt[t];}pd[x]^=1;
}
int main(){n=read();m=read();fo(i,1,m){j=read();k=read();add(j,k);add(k,j);}now=1;solve();t=0;fo(i,1,n) t+=pd[i];printf("%d\n",t);fo(i,1,n)if (pd[i]) printf("%d ",i);
}
[CF1019C]Sergey's problem相关推荐
- 【Cf #503 C】Sergey's problem(有趣的构造)
感觉这种构造题好妙啊,可我就是想不到诶. 给出一张无自环的有向图,回答一个独立集,使得图中任意一点都可以被独立集中的某一点两步之内走到. 具体构造方案如下: 下标从小到大枚举点,如果该点没有任何标记, ...
- Google的技术剖析:创始人Sergey Brin 和 Lawrence Page的研究论文 (转)
Google的技术剖析:创始人Sergey Brin 和 Lawrence Page的研究论文 (转)[@more@] The Anatomy of a Large-Scale Hypertextua ...
- E. Sergey and Subway(思维 + dp)
Problem - E - Codeforces Sergey Semyonovich 是 N 市县的市长,他一直在思考如何进一步改善 Nkers 的生活.不幸的是,几乎所有可以做的事情都已经完成了, ...
- linux下yum错误:[Errno 14] problem making ssl connection Trying other mirror.
所有的base 都要取消注释 mirrorlist 加上注释 另外所有的enable都要设为零 目录 今天是要yum命令安装EPEL仓库后 yum install epel-release 突然发现y ...
- A + B Problem
1001: A + B Problem Description 计算 A + B. Input 多组测试数据,每组测试数据占一行,包括2个整数. Output 在一行中输出结果. Sample Inp ...
- Error:(49, 1) A problem occurred evaluating project ':guideview'. Could not read script 'https://r
出现问题如下: Error:(49, 1) A problem occurred evaluating project ':guideview'. > Could not read script ...
- #418 Div2 Problem B An express train to reveries (构造 || 全排列序列特性)
题目链接:http://codeforces.com/contest/814/problem/B 题意 : 有一个给出两个含有 n 个数的序列 a 和 b, 这两个序列和(1~n)的其中一个全排列序列 ...
- ADPRL - 近似动态规划和强化学习 - Note 3 - Stochastic Infinite Horizon Problem
Stochastic Infinite Horizon Problem 3.Stochastic Infinite Horizon Problem 定义3.1 无限范围的马尔可夫决策过程 (Marko ...
- ADPRL - 近似动态规划和强化学习 - Note 2 - Stochastic Finite Horizon Problem
2. Stochastic Finite Horizon Problem 在这一节中主要介绍了随机DP算法来解决不确定性下的有限地范围问题,如Denition 1.4所述,它被表述为一个组合优化问题. ...
最新文章
- 通过python+ftps远程备份企业数据
- 「后端小伙伴来学前端了」Vuex原理图分析及结合生活案例让大家快速理解
- 类加载器的概述和分类
- Python json模块 - Python零基础入门教程
- 深圳惊现“马云网络有限公司” 网友:你好 我是马云公司CEO
- 华为手机设置页面黑色_华为手机设置里面的这些功能你都知道吗?
- 编译动态库时报错relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile
- 性能测试 - 响应 vs 延迟 vs 吞吐量 vs 负载 vs 扩展性 vs 压力 vs 健壮性
- 工程上为什么常用3dB带宽?而不是1dB或者2dB
- 宝塔面板防火墙安装和使用教程详解
- 1个英文字母、1个汉字、标点符号各占几个字节
- 【OpenGL】用GLFW和glad创建窗口
- BUUCTF misc 专题(22)隐藏的钥匙
- BeautyGAN图片的高精度美颜
- matlab 分类学习工具箱 Classification Learner
- Cocos Creator模拟砸金蛋3d旋转效果 | 附代码
- svn查找历史版本_svn历史版本对比以及还原到历史版本
- 【服务器】什么是服务器虚拟化
- nginx php .htaccess,Linux下nginx支持.htaccess文件实现伪静态的方法
- 设计技术实现方案时,需要考虑的一些问题
热门文章
- 超级采样 Supersampling 方式汇总
- android 九宫格解锁源码,Android 自己动手实现滑动九宫格解锁
- Kotlin 协程Flow、StateFlow、ShareFlow
- 交流变频电源如何进行断路器测试的?
- 10-30 H5第一次课 品牌墙
- 实例9、stc8a蓝牙模块HC05或者HC06模块,控制小车。利用定时器1产生通信的波特率9600
- 【正点原子STM32连载】第五十四章 手写识别实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
- 脑影像分析工具保姆级安装教程——VMware Workstation16.1.2中安装FSL6.0.3/FSL6.0.4、MRtrix3、MRIcron并修复fsleyes not found
- 人脸识别有漏洞!测试的19款国产手机全部被破解
- NYOJ 451 光棍节的快乐(错排公式+排列组合)