2014 UESTC Training for Graph Theory K
来源:互联网 发布:嵌入式系统编程 扫描版 编辑:程序博客网 时间:2024/05/21 19:33
如果原图直接联通那么就是一个简单的最小生成树问题,
那么就可以构造特殊点生成最小生成树跑一边kruskal得到答案就可以
注意并查集的应用,特殊点为0.首先合并所有特殊点
那么就可以构造特殊点生成最小生成树跑一边kruskal得到答案就可以
注意并查集的应用,特殊点为0.首先合并所有特殊点
然后跑kruskal就可以了
#include <map>#include <set>#include <list>#include <cmath>#include<cctype>#include <ctime>#include <deque>#include <stack>#include <queue>#include <cstdio>#include <string>#include <vector>#include <cstdlib>#include <cstring>#include <iostream>#include <algorithm>#define LL long long#define PI 3.1415926535897932626using namespace std;int gcd(int a, int b){return a % b == 0 ? b : gcd(b, a % b);}#define MAXN 1005int p[MAXN];int N,M,K;int find(int x){return x==p[x]?x:p[x]=find(p[x]);}struct node{ int s,e; int value; friend bool operator < (const node &a,const node &b) { return a.value<b.value; }}src[500000];void init(){ for (int i=0;i<=N;i++) p[i]=i; for (int i=0;i<K;i++) { int a; scanf("%d",&a); int r1=find(0);int r2=find(a); if (r1!=r2) p[r1]=r2; } for (int i=0;i<M;i++) scanf("%d%d%d",&src[i].s,&src[i].e,&src[i].value); sort(src,src+M);}LL kruskal(){ LL ans=0; for (int i=0;i<M;i++) { int r1=find(src[i].s),r2=find(src[i].e); if (r1!=r2) { p[r1]=r2; ans+=src[i].value; } } return ans;}int main(){ //freopen("sample.txt","r",stdin); while (scanf("%d%d%d",&N,&M,&K)!=EOF) { init(); printf("%lld\n",kruskal()); } return 0;}
0 0
- 2014 UESTC Training for Graph Theory K
- 2014 UESTC Training for Graph Theory Problem K WHITE ALBUM
- 2014 UESTC Training for Graph Theory B
- 2014 UESTC Training for Graph Theory C
- 2014 UESTC Training for Graph Theory F
- 2014 UESTC Training for Graph Theory G
- 2014 UESTC Training for Graph Theory H
- 2014 UESTC Training for Graph Theory I
- 2014 UESTC Training for Graph Theory J
- 2014 UESTC Training for Graph Theory L
- UESTC Training for Graph Theory——K、Blinking Stalkers
- 2014 UESTC Training for Graph Theory Problem F 握手
- 2016 UESTC Training for Graph Theory
- 2017 UESTC Training for Graph Theory
- 2017 UESTC Training for Graph Theory 题解
- UESTC Training for Graph Theory——A、Railway
- UESTC Training for Graph Theory——B、Asteroids
- UESTC Training for Graph Theory——c、Catenyms
- 2014 UESTC Training for Graph Theory H
- 2014 UESTC Training for Graph Theory I
- activex与前台JS交互
- 2014 UESTC Training for Graph Theory J
- android EditText输入框获得焦点时,边框变为深色
- 2014 UESTC Training for Graph Theory K
- db2数据库性能参数优化笔记整理
- 安卓学习之路之如何显示一个listview列表视图
- 2014 UESTC Training for Graph Theory L
- spring security 3 简单例子(自定义权限)
- ubuntu9.10网络配置
- poj3411Paid Roads
- 钩子DLL注入
- linux下svn命令大全