http://poj.org/problem?id=1679

  1. #include<iostream>
  2. #include<vector>
  3. #include<cstdio>
  4. #include<cstring>
  5. #include<algorithm>
  6. using namespace std;
  7. struct node{
  8. int u,v,w;
  9.  
  10. }e[];
  11. int f[];
  12. vector<int>vis;
  13. bool cmp(node p,node q){
  14. return p.w<q.w;
  15. }
  16. int find(int x){
  17. return x==f[x]?x:f[x]=find(f[x]);
  18. }
  19. int main(){
  20. int t;
  21. scanf("%d",&t);
  22. while(t--){
  23. int n,m,ans=;
  24. vis.clear();
  25. scanf("%d%d",&n,&m);
  26. for(int i=;i<=m;i++){
  27. int u,v,w;
  28. scanf("%d%d%d",&u,&v,&w);
  29. e[i].u=u;
  30. e[i].v=v;
  31. e[i].w=w;
  32. }
  33. sort(e+,e++m,cmp);
  34. for(int i=;i<=n;i++)
  35. f[i]=i;
  36. for(int j=,i=;i<=m;i++){
  37. int u=e[i].u,v=e[i].v;
  38. int a=find(u),b=find(v);
  39. if(a!=b){
  40. f[a]=b;
  41. j++;
  42. ans+=e[i].w;
  43. vis.push_back(i);
  44. }
  45. if(j==n-)
  46. break;
  47. }
  48. int flag=;
  49. for(int k=;k<vis.size();k++){
  50. int sign=vis[k];
  51. int ans1=;
  52. for(int i=;i<=n;i++)
  53. f[i]=i;
  54. int j=;
  55. for(int i=;i<=m;i++){
  56. if(i!=sign){
  57. int u=e[i].u,v=e[i].v;
  58. int a=find(u),b=find(v);
  59. if(a!=b){
  60. f[a]=b;
  61. ans1+=e[i].w;
  62. j++;
  63. }
  64. if(j==n-)
  65. break;
  66. }
  67. }
  68. if(j==n-){
  69. if(ans1==ans){
  70. flag=;
  71. break;
  72. }
  73. }
  74. }
  75. if(flag)
  76. puts("Not Unique!");
  77. else
  78. printf("%d\n",ans);
  79.  
  80. }
  81. return ;
  82. }

次小生成树题(k) poj1679The Unique MST的更多相关文章

  1. K - The Unique MST

    K - The Unique MST #include<iostream> #include<cstdio> #include<cstring> #include& ...

  2. POJ1679The Unique MST(次小生成树)

    The Unique MST Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 25203   Accepted: 8995 D ...

  3. poj1679The Unique MST(次小生成树模板)

    次小生成树模板,别忘了判定不存在最小生成树的情况 #include <iostream> #include <cstdio> #include <cstring> ...

  4. K - The Unique MST - poj 1679

    题目的意思已经说明了一切,次小生成树... ****************************************************************************** ...

  5. POJ--1679--The Unique MST【推断MST是否唯一】

    链接:http://poj.org/problem? id=1679 题意:告诉你有n个点,m条边,以及m条边的信息(起点.终点.权值).推断最小生成树是否唯一 之前是用另外一种方法做的.复杂度最高可 ...

  6. K - The Unique MST (最小生成树的唯一性)

    Given a connected undirected graph, tell if its minimum spanning tree is unique. Definition 1 (Spann ...

  7. POJ1679 The Unique MST 【次小生成树】

    The Unique MST Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 20421   Accepted: 7183 D ...

  8. POJ-1679.The Unique MST.(Prim求次小生成树)

    The Unique MST Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 39561   Accepted: 14444 ...

  9. poj 1679 判断MST是不是唯一的 (次小生成树)

    判断MST是不是唯一的 如果是唯一的 就输出最小的权值和 如果不是唯一的 就输出Not Unique! 次小生成树就是第二小生成树  如果次小生成树的权值和MST相等  那么MST就不是唯一的 法一: ...

随机推荐

  1. 题解 P1082 【同余方程】

    题目 这里给出非递归的 exgcd 做法 [基础] ( 只需要非递归的同学麻烦跳过 ) 由于欧几里德算法 ( 又名辗转相除法 ) 可以帮助我们求出最大公约数,并且提出对于 \(\forall a,b\ ...

  2. 查看电脑连接的WiFi的密码

    这里提供两种办法:图形界面操作版.命令行操作版 方法一: 打开控制面板 点击红色框部分 方法二 打开命令行:输入命令netsh wlan show profiles "连接的WiFi的名称& ...

  3. 解决XML警告"No grammar constraints (DTD or XML Schema) referenced in the document"

    解决办法: 顶部有这两行信息即可解决警告: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...

  4. 吴裕雄--天生自然MySQL学习笔记:MySQL 正则表达式

    下表中的正则模式可应用于 REGEXP 操作符中. 实例 查找name字段中以'st'为开头的所有数据: mysql> SELECT name FROM person_tbl WHERE nam ...

  5. dockerfile---apt-get install vim 时 Unable to locate package vim

    在学习 dockerfile 的时候,发现编写的 Dockerfile 中的 apt-get install 命令无法找到要安装的包,所以记录一下这次发生的错误. 环境:宿主机:windows 10 ...

  6. elasticsearch-logstash

    1.logstash介绍 logstash 是ES 下的一款开源软件.用于数据采集,就是从Mysql等数据源采集数据.更新数据.然后将数据发送到ES中创建.更新索引 2.安装 演示环境是windows ...

  7. HttpClient4.x 上传文件

    https://blog.csdn.net/wsdtq123/article/details/78888734

  8. 重载(overloading)和重写@Override

    一.重写:@Override 定义:字类方法覆盖父类方法,通俗来说就是方法里面的内容可以不一样,其他都一样. (1)必须保证权限大于等于父类的权限public>protetcted>默认& ...

  9. Spring Boot 中集成 Shiro

    https://blog.csdn.net/taojin12/article/details/88343990

  10. js 选中div中的文本

    function selectText(element) { var text = document.getElementById(element); if (document.body.create ...