[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所述,它被表述为一个组合优化问题. ...
最新文章
- C++中标准模板库std::pair的实现
- Redis在Windows上编译
- LeetCode 第 28 场双周赛(505/2144,前23.6%)
- raspberry中配置机器学习的环境
- C++工作笔记-作用域( :: )的另一种玩法
- JAVA利用google的zxing快速生成QRCode
- 解决CodeBlocks中文不显示的问题
- SDUT 2142 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 桃李春风一杯酒,江湖夜雨十年灯 - 老兵夜话DPDK
- 华为m6平板电脑Linux,华为平板M6 10.8英寸版使用体验及全面评测
- vue将页面导出pdf,vue导出pdf
- 详细讲解黑客常用的远程控制木马
- GG 。B的搜索技巧?
- 国外素材网站打不开?还想要同品质图片?
- MLP-Mixer简介和一些想法
- LCD液晶屏的通讯模式
- vue+element实现天翼云oos上传文件
- csgo举报机器人怎么安排_求一个CSGO的举报和点赞用的机器人
- PHP 蒙太奇马赛克拼图,AndreaMosaic制作一幅马赛克拼图
- linux服务器忘记密码操作
热门文章
- TFT-LCD显示技术类型详述
- GIL 已经被杀死了么?
- 新版jdk无jre解决方案
- vb调用mysql 输入参数,VB如何利用SQL存储过程加入新记录(CreateParameter方法追加参数方法调用比较具体的例子)...
- 【JavaScript权威指南(第七版)】之阅读学习总结
- table表格直接导出Excel文件
- Iterator使用
- 【隔空投送】2023新品,加速科技ST2500E重磅来袭
- chatgpt赋能python:Python手机密码解锁-打开手机的一条捷径
- 【Java设计模式 规范与重构】 一 重构的目的、内容、时机、方法