bzoj3390
来源:互联网 发布:手机淘宝天猫 编辑:程序博客网 时间:2024/06/05 06:19
分析:直接最大生成树就好了。。至于-1的情况。。
只要没有选出n-1条边都算错。
#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#include<queue>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fd(i,a,b) for(int i=a;i>=b;i--)using namespace std;typedef long long ll;int n,m;const int N=1e5+5;struct node{ int x,y,z;}a[N];int f[N];ll ans;bool cmp(node x,node y){ return x.z>y.z;}inline int get(int x){ if (f[x]==x)return x; else return f[x]=get(f[x]);}int main(){ scanf("%d%d",&n,&m); fo(i,1,m)scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].z); sort(a+1,a+1+m,cmp); fo(i,1,n)f[i]=i; int tot=0; fo(i,1,m) { int fx=get(a[i].x),fy=get(a[i].y); if (fx!=fy) { f[fx]=fy; tot++; ans+=a[i].z; } } if (n-1!=tot)printf("-1"); else printf("%lld\n",ans); return 0;}
0 0
- bzoj3390
- [BZOJ3390]荒岛野人
- bzoj3390: [Usaco2004 Dec]Bad Cowtractors牛的报复
- BZOJ3390: [Usaco2004 Dec]Bad Cowtractors牛的报复
- #bzoj3390#荒岛野人(割边 / 桥 + 子树和)
- 【BZOJ3390】[Usaco2004 Dec]Bad Cowtractors牛的报复【最大生成树】
- bzoj3390 [Usaco2004 Dec]Bad Cowtractors牛的报复(最大生成树)
- 菜鸟学算法之动态规划01
- C#笔记 -- 协变、逆变
- 集合相似度
- HTTP基本原理(简介)
- HTML5
- bzoj3390
- python语言学习——关于str
- 在64位 Windows7 运行regsvr32.exe提示不兼容
- 微信小程序开程之路(九)纯手工打造微信小程序业务服务器
- bzoj 3163: [Heoi2013]Eden的新背包问题 多重背包
- 浅谈自定义View的宽高获取
- Android Studio新建项目"Building Gradle project info"卡死
- UVALive 3305 Tour(DP)
- php异常机制