bzoj 4436: [Cerc2015]Kernel Knights
来源:互联网 发布:淘宝水族箱品牌排行榜 编辑:程序博客网 时间:2024/05/20 07:13
T集表示已经确定不在S集内的点。
对于一个点,如果不存在非T集的点挑战它,那么它一定在S集中。
如果存在一个挑战它的点在S集中,那么它一定在T集中。
用类似拓扑排序的方法,首先找出所有不被挑战的点,归入S,把这个点挑战的点y归入T集,然后y挑战的点的度数-1.
最后剩下一些点在环中,满足每个点都被别人挑战,也挑战别人,因为是二分图,所以保证是偶环,所以把<=n的未归入T的点归入S就行了。
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#define ll long long
#define inf 1e9
#define eps 1e-8
#define md
#define N 200010
using namespace std;
struct yts { int x,t,ne;} e[N];
int v[N],du[N],q[N],vis[N];
int num=0;
void put(int x,int y)
{
num++; e[num].x=x; e[num].t=y; du[y]++;
e[num].ne=v[x]; v[x]=num;
}
int main()
{
int n;
scanf("%d",&n);
for (int i=1;i<=n;i++) { int x; scanf("%d",&x); put(i,x); }
for (int i=1;i<=n;i++) { int x; scanf("%d",&x); put(i+n,x); }
n<<=1;
int h=0,w=0;
for (int i=1;i<=n;i++) if (du[i]==0) q[++w]=i;
while (h!=w)
{
int x=q[++h]; vis[x]=1;
for (int i=v[x];i;i=e[i].ne)
{
int y=e[i].t;
if (vis[y]==0)
{
vis[y]=2;
for (int j=v[y];j;j=e[j].ne)
{
int z=e[j].t;
du[z]--; if (du[z]==0) q[++w]=z;
}
}
}
}
n>>=1; for (int i=1;i<=n;i++) if (vis[i]==0) vis[i]=1;
n<<=1; for (int i=1;i<=n;i++) if (vis[i]==1) printf("%d ",i);
printf("\n");
return 0;
}
0 0
- bzoj 4436: [Cerc2015]Kernel Knights
- [乱搞] BZOJ 4436 [Cerc2015]Kernel Knights
- BZOJ4436 [Cerc2015]Kernel Knights
- bzoj 4421: [Cerc2015] Digit Division
- BZOJ 4451: [Cerc2015]Frightful Formula
- UVA 7334 Kernel Knights
- LA 7334 Kernel Knights
- 【bzoj 4451】[Cerc2015]Frightful Formula - 递推
- bzoj 4451: [Cerc2015]Frightful Formula 数学+排列组合
- [乱搞] BZOJ 4434 [Cerc2015]Ice Igloos
- [杂题] BZOJ 4437 [Cerc2015]Looping Labyrinth
- [链表 杂题] BZOJ 4432 [Cerc2015]Greenhouse Growth
- BZOJ 4435: [Cerc2015]Juice Junctions tarjan
- Bzoj 4422: [Cerc2015]Cow Confinement(线段树+扫描线)
- 【 bzoj 4452 】 [cerc2015] Export Estimate - 并查集
- [FFT || 递推] BZOJ 4451 [Cerc2015]Frightful Formula
- [并查集 杂题] BZOJ 4452 [Cerc2015]Export Estimate
- [扫描线 线段树] BZOJ 4422 [Cerc2015]Cow Confinement
- PyQt基础第3篇——自定义窗口(隐藏最大最小化按钮)
- The following classes could not be found: - android.support.v7.internal.app.WindowDecorActionBar
- HDU-1213-How Many Tables(并查集)
- POJ, 3255 Roadblocks(次短路径)
- Java EE中关于配置文件web.xml杂谈一
- bzoj 4436: [Cerc2015]Kernel Knights
- 可删除某些字符的最长回文字符串(2016腾讯在线笔试题)
- jsp中EL表达式
- 网站评论功能数据库设计和开发
- Matlab CV ToolBox的使用之matchFeatures
- 第十一周项目1.1—点 圆 圆柱类族的设计
- swift 学习笔记之闭包
- Docker Swarm入门(三)Swarm SOA举例
- ural 1018-Binary Apple Tree【树状DP】