1. #include<cstdio>
  2. #include<vector>
  3. #include<cstring>
  4. #include<set>
  5. #define maxn 5050
  6. #define fi first
  7. #define se second
  8. using namespace std;
  9. typedef pair<int,int> PII;
  10. vector <PII> s[maxn];
  11. int map[][];
  12. int low_cost[maxn],zou[maxn],n,m,x,y,val,zhong,mi,ans;
  13. int up(int x,int y,int val)
  14. {
  15. for(int i=;i<s[x].size();i++)
  16. {
  17. if(s[x][i].fi==y )
  18. {
  19. if( s[x][i].se>val)
  20. {
  21. s[x][i].se=val;
  22. }
  23. return ;
  24. }
  25. }
  26. return ;
  27. }
  28. main(){
  29. // freopen("data.in","r",stdin);
  30. scanf("%d%d",&n,&m);
  31. memset(low_cost,/,sizeof(low_cost));
  32. // memset(map,127/3,sizeof(map));
  33. for(int i=;i<=m;i++)
  34. {
  35. scanf("%d%d%d",&x,&y,&val);
  36. if(x==y) continue;
  37. // map[x][y]=min(map[x][y],val);
  38. // map[y][x]=min(map[y][x],val);
  39. if(up(x,y,val))
  40. up(y,x,val);
  41. else
  42. {
  43. s[x].push_back(PII(y,val));
  44. s[y].push_back(PII(x,val));
  45. }
  46. }
  47. for(int i=;i<s[].size();i++)
  48. {
  49. low_cost[s[][i].fi]=s[][i].se;
  50. }
  51. /* for(int i=2;i<=n;i++)
  52. {
  53. low_cost[i]=min(low_cost[i],map[1][i]);
  54. }*/
  55. zou[]=;
  56. zhong=;
  57. for(int qwer=;qwer<n;qwer++)
  58. {
  59. int f=;
  60. mi=;
  61. for(int i=;i<=n;i++)
  62. {
  63. if(low_cost[i]<mi && zou[i]==)
  64. {
  65. mi=low_cost[i];
  66. zhong=i;
  67. f=;
  68. }
  69. }
  70. if(f==)
  71. {
  72. printf("orz");
  73. return ;
  74. }
  75. ans+=mi;
  76. zou[zhong]=;
  77. for(int i=;i<s[zhong].size();i++)
  78. {
  79. if(zou[s[zhong][i].fi]==) continue;
  80. low_cost[s[zhong][i].fi]=min(low_cost[s[zhong][i].fi],s[zhong][i].se);
  81. }
  82.  
  83. /* for(int i=1;i<=n;i++)
  84. {
  85. if(map[zhong][i]<low_cost[i])
  86. low_cost[i]=map[zhong][i];
  87. }*/
  88. }
  89. printf("%d",ans);
  90. }

prim 模板的更多相关文章

  1. HDU1875+Prim模板

    https://cn.vjudge.net/problem/HDU-1875 相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现.现在政府 ...

  2. HDU 1223 还是畅通工程(最小生成树prim模板)

    一个很简单的prim模板,但虽然是模板,但也是最基础的,也要脱离模板熟练打出来 后期会更新kruskal写法 #include<iostream> #include<cstdio&g ...

  3. Kruskal && Prim模板

    1. Kruskal(并查集模板): /* Kruskal:并查集实现,记录两点和距离,按距离升序排序,O (ElogE) */ struct Edge { int u, v, w; bool ope ...

  4. prim模板题

    题目链接:http://acm.hrbeu.edu.cn/index.php?act=problem&id=1223 #include <cstdio> #include < ...

  5. prim模板

    ]; int n; ][]; ]; int prim(){ int i,j,mi,v; ;i<n;i++){ d[i]=map[][i]; vis[i]=; } ;i<=n;i++){ m ...

  6. 最小生成树(kruskal模版 Prim模板)

    http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2144&cid=1186 最小生成树,最重要的是了解思想 稠密图用Prim,稀疏图用Kru ...

  7. poj 1258 Agri-Net prim模板 prim与dijkstra的区别

    很裸地求最小生成树的题目.题意就不多说了,最重要的就是记录一下学会了prim算法. 初学prim,给我的第一感觉就是和dijkstra好像啊,感觉两者的区别还是有的: 1:prim是求最小生成树的算法 ...

  8. 最小生成树模板【kruskal & prim】

    CDOJ 1966 Kruskal 解法 时间复杂度O(mlogm) m为边数,这里主要是边排序占时间,后面并查集还好 #include <cstdio> #include <cst ...

  9. 最小生成树(次小生成树)(最小生成树不唯一) 模板:Kruskal算法和 Prim算法

    Kruskal模板:按照边权排序,开始从最小边生成树 #include<algorithm> #include<stdio.h> #include<string.h> ...

随机推荐

  1. VMware 虚拟化编程(6) — VixDiskLib 虚拟磁盘库详解之二

    目录 目录 前文列表 VixDiskLib 虚拟磁盘库 VixDiskLib_Open 打开 VMDK File VixDiskLib_Read 读取 VMDK File 数据 VixDiskLib_ ...

  2. deepin 安装tar.gz

    由于网上推荐的比较多的安装方式是:sudo apt-get install mysql-server mysql-client,这个安装的是mysql5.7,既然都安装了就要安装最新的,所以从官网下载 ...

  3. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_02 递归_3_练习_使用递归计算阶乘

    结束条件是乘到 当前数字等于1

  4. QTP 11 补丁大全

    原文: http://relevantcodes.com/qtp-11-0-patches/ Patch Link Details Support for Chrome 19 QTPWEB_00102 ...

  5. JS-在本页面禁止页面返回

    这个问题是最近遇到的 解决方案我百度的并测试有效 // 如果你希望用户不用有返回功能 可缩写如下 或使用location.replace('url')跳转链接 history.pushState(nu ...

  6. vue组件生命周期

    分为4个阶段:create/mount/update/destroy 每一个阶段都对应着有自己的处理函数 create: beforeCreate created 初始化 mount: beforeM ...

  7. SpringBoot(一) -- SpringBoot入门

    一.简介 Spring Boot来简化Spring应用开发,约定大于配置,去繁从简,just run就能创建一个独立的,产品级别的应用. 1.快速创建独立运行的Spring项目以及与主流框架集成; 2 ...

  8. ajax 的post方法 的content-type设置和express里应用body-parser

    ajax的post方法相比get方法,在传参形式上很不一样, get把参数用'?'拼接在端口后,并且用'&'连接;而post则是需要在send参数里设置. 根据ajax实例xhr.setReq ...

  9. HDU 6070题解(二分+线段树)

    题面 传送门 此题的题意不是很清晰,要注意的一点是在区间[L,R]中,默认题目编号最后一次出现的时候是AC的 比如1 2 1 2 3 ,在区间[1,4]中,第3次提交时AC第1题,第4次提交时AC第2 ...

  10. 初学css display

    display:网上查到的资料说是:属性规定元素应该生成的框的类型.例如:网页上的导航栏,使用ul->li那么需要让其排列在一行上可以使用设置li:{float:left:},也可以使用disp ...