#include<cstdio>
#include<vector>
#include<cstring>
#include<set>
#define maxn 5050
#define fi first
#define se second
using namespace std;
typedef pair<int,int> PII;
vector <PII> s[maxn];
int map[][];
int low_cost[maxn],zou[maxn],n,m,x,y,val,zhong,mi,ans;
int up(int x,int y,int val)
{
for(int i=;i<s[x].size();i++)
{
if(s[x][i].fi==y )
{
if( s[x][i].se>val)
{
s[x][i].se=val;
}
return ;
}
}
return ;
}
main(){
// freopen("data.in","r",stdin);
scanf("%d%d",&n,&m);
memset(low_cost,/,sizeof(low_cost));
// memset(map,127/3,sizeof(map));
for(int i=;i<=m;i++)
{
scanf("%d%d%d",&x,&y,&val);
if(x==y) continue;
// map[x][y]=min(map[x][y],val);
// map[y][x]=min(map[y][x],val);
if(up(x,y,val))
up(y,x,val);
else
{
s[x].push_back(PII(y,val));
s[y].push_back(PII(x,val));
}
}
for(int i=;i<s[].size();i++)
{
low_cost[s[][i].fi]=s[][i].se;
}
/* for(int i=2;i<=n;i++)
{
low_cost[i]=min(low_cost[i],map[1][i]);
}*/
zou[]=;
zhong=;
for(int qwer=;qwer<n;qwer++)
{
int f=;
mi=;
for(int i=;i<=n;i++)
{
if(low_cost[i]<mi && zou[i]==)
{
mi=low_cost[i];
zhong=i;
f=;
}
}
if(f==)
{
printf("orz");
return ;
}
ans+=mi;
zou[zhong]=;
for(int i=;i<s[zhong].size();i++)
{
if(zou[s[zhong][i].fi]==) continue;
low_cost[s[zhong][i].fi]=min(low_cost[s[zhong][i].fi],s[zhong][i].se);
} /* for(int i=1;i<=n;i++)
{
if(map[zhong][i]<low_cost[i])
low_cost[i]=map[zhong][i];
}*/
}
printf("%d",ans);
}

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. Delphi XE2 之 FireMonkey 入门(15) - 滤镜: 获取滤镜信息

    滤镜类的继承关系: TObject -> TPersistent -> TFilter -> TShaderFilter -> { 具体的滤镜类 } //下面例子首先会用到 F ...

  2. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_08 转换流_3_转换流的原理

    FileReader源码的构造方法.底层使用FileInputStram读取 编码不一样占用的字节大小也不一样.GBK一个汉字占用 2个字节. utf-8一个汉字占用三个字节 转换流InputStre ...

  3. 剑指offer(1):数组

    1 写作计划 最近在看<剑指offer>,发现自己有很多的数据结构与算法的基础知识要复习,<好书一起读(131):让写作更好>中提到用写作倒逼阅读,我很是赞同.所以,计划以&l ...

  4. 【ABAP系列】SAP ABAP 优化LOOP循环的一点点建议

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 优化LOOP循 ...

  5. 应用安全-CTF-格式串漏洞

    主要影响c库中print家族函数 - > printf,sprintf,fprintf等 利用: SIP请求URI中格式串

  6. js之状态模式

    level01:电灯程序 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  7. Console.Out 属性和 XmlDocument.Save 方法 (String)

    Console.Out 属性 默认情况下,此属性设置为标准输出流. 此属性可以设置为另一个流SetOut方法. 请注意,调用Console.Out.WriteLine方法是等效于调用相应WriteLi ...

  8. linux系统系统调优之----内核优化

    主要是指在Linux系统中针对服务应用而进行的系统内核参数调整,优化没有的标准, 根据实际需求优化才是最合适的. 1)编辑内核配置文件 2)参数及简单说明 3)生效配置 1)编辑内核配置文件 vim ...

  9. C程序优化

    1 优化内存使用 后期程序优化的时候看内存分配是否浪费:是否留有安全裕量:有些内存是否分配过多,有些内存是否分配了没使用:尤其是创建对象的时候

  10. 防止 iframe 的链接重定向父级页面

    项目中发现,多系统通过iframe嵌套时,如果iframe的请求是重定向会导致父级页面重定向,怎么破? 查找MDN(https://developer.mozilla.org/zh-CN/docs), ...