hdu 4738 Caocao's Bridges 有重边求割边模板
来源:互联网 发布:周鸿祎谈网络战争 编辑:程序博客网 时间:2024/06/04 19:37
题意:找到一条最小割边,输出其权值。
有几点需要注意:
1.如果割边权为0了,则至少需要1人去炸毁桥。
2.如果一开始就没连通,就不需要人,输出0
有重边求割边模板
//思路:会出现重边 , 统计每条边的边数,注意规定边的两端大小,若是重边,判断时直接放弃 //有重边 求割边模板 #include<algorithm>#include<cstring>#include<cstdio>#include<stack>#include<vector>#include<map>#include<string>#include<iostream>using namespace std;const int maxn = 2*1e4+10;int low[maxn],dfn[maxn];map<int,int> mp;int time;struct edge{int from,to,w;}e[1000000+10];vector<int> g[maxn];void tarjan(int u,int fa){dfn[u]=low[u]=++time;for(int i=0;i<g[u].size();i++){int v=g[u][i];if(!dfn[v]){tarjan(v,u);low[u]=min(low[v],low[u]);}else if(v!=fa)low[u]=min(low[u],dfn[v]);}}void init(int cnt){memset(dfn,0,sizeof(dfn));for(int i=1;i<=cnt;i++)g[i].clear();time=0;mp.clear();}int main(){int n,m;while(~scanf("%d%d",&n,&m)&&(n+m)){int cnt=0;init(n);for(int i=0;i<m;i++){int u,v,w;scanf("%d%d%d",&u,&v,&w);//方便标号统计重边 if(u>v)swap(u,v);e[i].from=u,e[i].to=v,e[i].w=w;g[u].push_back(v);g[v].push_back(u);mp[u*1000000+v]++;}tarjan(1,-1);int flag=0;for(int i=1;i<=n;i++)if(!dfn[i])flag=1;if(flag){printf("0\n");//不联通,割边数为0 }else{int mi=1<<30;for(int i=0;i<m;i++){int u=e[i].from,v=e[i].to;if((low[u]>dfn[v]||low[v]>dfn[u])&&mp[u*1000000+v]==1)//排除重边 是割边 {if(mi>e[i].w)mi=e[i].w;}}if(mi==0)printf("1\n");else if(mi!=1<<30)printf("%d\n",mi);elseprintf("-1\n");}}}
阅读全文
0 0
- hdu 4738 Caocao's Bridges 有重边求割边模板
- hdu 4738 Caocao's Bridges
- hdu 4738 Caocao's Bridges
- hdu 4738 Caocao's Bridges
- HDU:4738 Caocao's Bridges
- HDU 4738 Caocao's Bridges
- HDU 4738 Caocao's Bridges
- hdu 4738 - Caocao's Bridges
- hdu 4738 Caocao's Bridges
- HDU-4738Caocao's Bridges
- hdu 4738 Caocao's Bridges 图--桥的判断模板
- HDU Caocao's Bridges
- Caocao's Bridges HDU
- hdu 4738—— Caocao's Bridges
- hdu - 4738 Caocao's Bridges 割边
- HDU 4738 Caocao's Bridges(找割边)
- hdu 4738——Caocao's Bridges
- HDU 4738 Caocao's Bridges(tarjan算法)
- Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
- 关于颜色、纹理和分层的目标检测(object detect)相关论文
- C++单例模式
- 交换变量
- 完整版文本框即时输入数据监听并下拉显示匹配数据
- hdu 4738 Caocao's Bridges 有重边求割边模板
- Java程序员书籍
- 系统调用过程
- 显示凭证-销售凭证流 / 相关索引表
- SDK : error 1260
- 【Shiro】概述
- HTML5中video和audio所支持的格式
- mysql数据库数据表的相关操作
- HashSet HashTable HashMap的区别