#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. 大数据架构师必读的NoSQL建模技术

    大数据架构师必读的NoSQL建模技术 从数据建模的角度对NoSQL家族系统做了比较简单的比较,并简要介绍几种常见建模技术. 1.前言 为了适应大数据应用场景的要求,Hadoop以及NoSQL等与传统企 ...

  2. 孩子王app自动签到送现金券

    今天在某商场的孩子王店给小孩买东西时发现,app连续签到3天即可获得一张5元现金券. 回到家中,花几分钟Fiddler抓包分析写了个自动签到的代码. var cookies = new string[ ...

  3. 利用python+tkinter做一个简单的智能电视遥控器

    要通过python实现遥控器功能分两步: 第一步:开发图形化界面,以暴风TV的遥控器按钮为例 第二步:使PC端给电视发送相应指令(此步骤需要打开电视的adb开关) 现在就开始第一步操作实现遥控器功能, ...

  4. Session设置

    from django.shortcuts import render, redirect from django import views # Create your views here. fro ...

  5. WebServiceBinding属性

    属性 类型 读 写 说明 ConformsTo Wsiprofiles x x 绑定需要遵守的WS-I标准 EmitConformanceClaims Boolean     如果为true,当WSD ...

  6. CentOS7linux系统安装fpm服务,自己制作rpm包文件

    1.安装ruby环境 [root@oldboy /]# yum install -y ruby ruby-devel rubygems gem install fpm gem sources --ad ...

  7. Netty内存池ByteBuf 内存回收

    内存池ByteBuf 内存回收: 在前面的章节中我们有提到, 堆外内存是不受JVM 垃圾回收机制控制的, 所以我们分配一块堆外内存进行ByteBuf 操作时, 使用完毕要对对象进行回收, 本节就以Po ...

  8. Git-第一篇认识git,核心对象,常用命令

    1.git一般使用流程 4大核心对象:工作区.暂存区.本地库.远端库. 2.常用命令 1>git init:初始化本地仓库 2>git clone:克隆仓库到指定地方 3>git a ...

  9. MySQL-第十五篇使用连接池管理连接

    1.数据库连接池的解决方案是: 当应用程序启动时,系统主动建立足够的数据库连接,并将这些连接组成一个连接池.每次应用程序请求数据库连接时,无需重新打开连接,而是从连接池中取出已有的连接使用,使用完后不 ...

  10. Lucene 4.6.1 java.lang.IllegalStateException: TokenStream contract violation

    这是旧代码在新版本Lucene中出现的异常,异常如下: Exception in thread "main" java.lang.IllegalStateException: To ...