BZOJ 4296 PA2015 Mistrzostwa
来源:互联网 发布:js 弧线菜单 编辑:程序博客网 时间:2024/05/10 16:13
题目大意:给定一张无向图,求一个点集最大的诱导子图使得:
1.每个点的度数都
2.诱导子图连通
将所有度数不足
每次取出队头,将队头相邻的点度数减掉1,如果减掉后度数变成了
输出剩余点的最大连通块即可
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define M 200200using namespace std;struct abcd{ int to,next;}table[M<<1];int head[M],tot;int n,m,d;int degree[M];bool deleted[M];int v[M];int q[M],r,h;int size,ans,ans_point;int stack[M],top;void Add(int x,int y){ table[++tot].to=y; table[tot].next=head[x]; head[x]=tot;}void DFS(int x){ int i; if(v[x]||deleted[x]) return ; v[x]=1;++size; for(i=head[x];i;i=table[i].next) DFS(table[i].to);}void Output_Ans(int x){ int i; if(v[x]==2||deleted[x]) return ; v[x]=2; stack[++top]=x; for(i=head[x];i;i=table[i].next) Output_Ans(table[i].to);}int main(){ int i,x,y; cin>>n>>m>>d; for(i=1;i<=m;i++) { scanf("%d%d",&x,&y); Add(x,y);Add(y,x); degree[x]++; degree[y]++; } for(i=1;i<=n;i++) if(degree[i]<d) q[++r]=i; while(r!=h) { int x=q[++h];deleted[x]=true; for(i=head[x];i;i=table[i].next) if(degree[table[i].to]--==d) q[++r]=table[i].to; } if(r==n) { puts("NIE"); return 0; } for(i=1;i<=n;i++) if(!deleted[i]&&!v[i]) { size=0; DFS(i); if(size>ans) ans=size,ans_point=i; } cout<<ans<<endl; Output_Ans(ans_point); sort(stack+1,stack+top+1); for(i=1;i<=top;i++) printf("%d%c",stack[i],i==top?'\n':' '); return 0;}
0 0
- BZOJ 4296 PA2015 Mistrzostwa
- bzoj 4296 [PA2015]Mistrzostwa 宽搜 并查集
- 4296: [PA2015]Mistrzostwa|图的联通
- 4296: [PA2015]Mistrzostwa 图的遍历
- 【PA2015】【BZOJ4296】Mistrzostwa
- 【bzoj4296: [PA2015]Mistrzostwa】图论
- 【bzoj4296】【PA2015】【Mistrzostwa】【bfs+dfs】
- BZOJ 4291: [PA2015]Kieszonkowe
- 【BZOJ】【P4291】【PA2015】【Kieszonkowe】【题解】【...】
- BZOJ 4292([PA2015]Równanie-数学)
- BZOJ 4292 PA2015 Równanie 枚举
- BZOJ 4292 [PA2015]Równanie 水题
- bzoj 4295 [PA2015]Hazard 单调队列
- BZOJ 4292: [PA2015]Równanie
- bzoj 4293: [PA2015]Siano(线段树)
- 【BZOJ】【P4292】【PA2015】【Równanie】【题解】【暴力】
- BZOJ 4292: [PA2015]Równanie(转换枚举)
- BZOJ 4292 [PA2015] Równanie - 数位&思维
- js实现图片自动切换
- servlet 从java中如何获取参数
- 字符转二进制_C++实现
- “cout”: 未声明的标识符”是怎么回事?
- ActionBar的界面跳转
- BZOJ 4296 PA2015 Mistrzostwa
- 51单片机数据管移位残影解决
- java中转换英语日期为常用格式,例:"Jun 20, 2014 8:56:14 PM";
- 如何实现用Java编写程序,设计一个模拟电梯运行的类
- [LeetCode 282] Expression Add Operator
- PHP FTP 类
- Java核心技术第5章(3)
- 最长回文子串_Manacher算法_hihoCoder1032
- 质因数分解程序