uvalive 2966 求一个二分图 所有的完美匹配
来源:互联网 发布:淘宝企业店铺装修教程 编辑:程序博客网 时间:2024/06/09 03:50
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int low[4060],dfn[4060],head[4060],stk[4060],id[4060],ans[4060],c[4060][4060],flag[4040];int to[500050],Next[500050],tot,n,top,dfs_clock,num;void add_edge(int u,int v){to[++tot]=v;Next[tot]=head[u];head[u]=tot;}void tarjan(int u){low[u]=dfn[u]=++dfs_clock;stk[++top]=u;flag[u]=1;for(int i=head[u];i;i=Next[i]){if(dfn[to[i]]==0){tarjan(to[i]);low[u]=min(low[u],low[to[i]]);}else if(flag[to[i]])low[u]=min(low[u],low[to[i]]);}if(low[u]==dfn[u]){num++;while(stk[top]!=u){flag[stk[top]]=0;id[stk[top]]=num;top--;}flag[u]=0;id[u]=num;top--;}}int main(){while(scanf("%d",&n) == 1){num=top=tot=dfs_clock=0;for(int i=1;i<=2*n;i++)head[i]=dfn[i]=low[i]=0;for(int i=1;i<=n;i++){scanf("%d",&c[i][0]);for(int j=1;j<=c[i][0];j++){scanf("%d",&c[i][j]);add_edge(i,c[i][j]+n);}}for(int i=1;i<=n;i++){int t;scanf("%d",&t);add_edge(t+n,i);}for(int i=1;i<=n;i++)if(dfn[i]==0)tarjan(i);for(int i=1;i<=n;i++){int cnt=0;for(int j=1;j<=c[i][0];j++)if(id[i]==id[c[i][j]+n])ans[++cnt]=c[i][j];sort(ans+1,ans+cnt+1);printf("%d ",cnt);for(int j=1;j<cnt;j++)printf("%d ",ans[j]);printf("%d\n",ans[cnt]);}}}
阅读全文
0 0
- uvalive 2966 求一个二分图 所有的完美匹配
- UVALive 4043 Ants(二分图最佳完美匹配、KM)
- UVALive 4043 Ants(二分图最佳完美匹配、KM)
- UVaLive 4043 Ants(二分图最佳完美匹配、KM)
- HDU 6073 Matching In Multiplication (拓扑排序+搜索 求二分图所有完美匹配价值和)
- 二分图的最大匹配完美匹配
- 二分图求最大匹配数,最完美匹配概念
- UVAlive 6525 二分图匹配
- KM算法 求二分图最大权值的完美匹配 【模板 记录】
- 【完美的牛栏】二分图匹配
- 【二分图最大匹配】完美的牛栏
- 【二分图匹配】完美的牛栏
- POJ 1904 King's Quest(二分图由已知完美匹配求全部完美匹配)
- 二分图的最大匹配、完美匹配和匈牙利算法
- 二分图的最大匹配、完美匹配和匈牙利算法
- 二分图的最大匹配、完美匹配和匈牙利算法
- 二分图的最大匹配、完美匹配和匈牙利算法
- 二分图的最大匹配、完美匹配和匈牙利算法
- bzoj3862Little Devil I(树链剖分+线段树)
- 使用scala计算两个Gps点之间的距离
- 找到几个在线查看函数图像的网站
- 最小的k个数
- BZOJ 3991 寻宝游戏 (dfs序 RMQ set维护动态链的并集)
- uvalive 2966 求一个二分图 所有的完美匹配
- 多分支语句中的跳楼现象
- TCL学习笔记之 列表命令
- JAVA jvm和 Android dvm的区别
- 深度揭秘原型(深浅克隆)模式!
- 018 连续函数的运算及初等函数的连续性;第一类间断点、第二类间断点
- HNU OJ题库 1007H生理周期
- POJ 1961 Period
- 洛谷P1456 (HDU 1512)Monkey King