POJ 2421
来源:互联网 发布:在线起名软件 编辑:程序博客网 时间:2024/05/08 12:08
【题目分析】
最小生成树
【代码】
#include <cstdio>#include <cmath>#include <cstring>#include <iostream>#include <algorithm>using namespace std;int q,n,x,ans=0;int fr[10001],en=1,to[10001],w[10001];int rank[10001],f[10001];inline int gf(int k){ if (f[k]==k) return k; else return f[k]=gf(f[k]);}inline bool cmp(int a,int b){return w[a]<w[b];}int main(){ scanf("%d",&n); for (int i=1;i<=n;++i) for (int j=1;j<=n;++j) { scanf("%d",&x); if (i!=j) {fr[en]=i;to[en]=j;w[en]=x;en++;} } for (int i=1;i<en;++i) rank[i]=i; for (int i=1;i<=n;++i) f[i]=i; scanf("%d",&q); for (int i=1;i<=q;++i) { int x,y; scanf("%d%d",&x,&y); int fx=gf(x),fy=gf(y); if (fx!=fy) f[fx]=fy; } sort(rank+1,rank+en,cmp); for (int i=1;i<en;++i) { int l=fr[rank[i]],r=to[rank[i]]; int fl=gf(l),fr=gf(r); if (fl!=fr) f[fl]=fr,ans+=w[rank[i]]; } printf("%d\n",ans);}
0 0
- POJ 2421
- poj 2421
- POJ 2421
- poj 2421
- POJ 2421
- POJ 2421
- poj 2421
- POJ 2421
- poj 2421
- POJ 2421Constructing Roads
- poj 2421 Constructing Roads
- poj 2421 Constructing Roads
- poj 2421(prime)
- POJ 2421 Constructing Roads
- POJ 2421 Constructing Roads
- POJ 2421 constructing roads
- POJ-2421-Constructing Roads
- POJ 2421 Constructing Roads
- 连续子数组最大和
- bss段说明
- 第十章 μC/OS-Ⅱ在80x86上的移植
- LightOJ 1336 Sigma Function
- 包装设计模式(装饰设计模式)的使用
- POJ 2421
- bzoj 1821 [JSOI2010]Group 部落划分
- C++ STL算法---unique , unique_copy函数
- 使用HTML5+CSS3+JavaScript制作网页游戏的流程
- Python学习
- 用Python建立最简单的web服务器
- 【hihocoder】#1366 : 逆序单词
- 2016 ACM/ICPC Asia Regional Dalian Online 大连区域赛部分题解
- linux发行版一级目录