[USACO 102]Agri-Net
OJ题号:POJ1258、洛谷1546
思路:Kruskal。
#include<cstdio>
#include<utility>
#include<vector>
#include<algorithm>
#define w first
#define a second.first
#define b second.second
typedef std::pair<int,std::pair<int,int> > Edge;
const int N=;
int n;
std::vector<Edge> e;
class UnionFindSet {
private:
int anc[N];
public:
UnionFindSet(int n) {
for(int i=;i<n;i++) anc[i]=i;
}
int Find(int x) {
return (x==anc[x])?x:(anc[x]=Find(anc[x]));
}
void Union(int x,int y) {
anc[Find(y)]=Find(x);
}
};
int main() {
scanf("%d",&n);
for(int i=;i<n;i++) {
for(int j=;j<n;j++) {
int c;
scanf("%d",&c);
if(i<j) {
e.push_back(std::make_pair(c,std::make_pair(i,j)));
}
}
}
UnionFindSet s(n);
std::sort(e.begin(),e.end());
int ans=;
for(int i=;i<(int)e.size();i++) {
if(s.Find(e[i].a)==s.Find(e[i].b)) continue;
ans+=e[i].w;
s.Union(e[i].a,e[i].b);
}
printf("%d\n",ans);
return ;
}
[USACO 102]Agri-Net的更多相关文章
- poj1258 Agri-Net 最小生成树
Agri-Net Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 44032 Accepted: 18001 Descri ...
- Codevs 1078 ==Poj 1258 Agri-Net
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 53270 Accepted: 22140 Description D ...
- [ACM] poj 1258 Agri-Net (最小生成树)
Agri-Net Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 37131 Accepted: 14998 Descri ...
- Poj1258 Agri-Net (最小生成树 Prim算法 模板题)
题目链接:http://poj.org/problem?id=1258 Description Farmer John has been elected mayor of his town! One ...
- POJ1258 Agri-Net 2017-04-14 15:51 55人阅读 评论(0) 收藏
Agri-Net Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 56948 Accepted: 23615 Descri ...
- POJ1258 (最小生成树prim)
Agri-Net Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 46319 Accepted: 19052 Descri ...
- POJ 1258 Agri-Net(Prim求最小生成树)
Agri-Net Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 64912 Accepted: 26854 Descri ...
- POJ 1258 Agri-Net (最小生成树+Prim)
Agri-Net Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 39820 Accepted: 16192 Descri ...
- 最小生成树 --- 求最小权值、MST
Agri-Net Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 37109 Accepted: 14982 Descri ...
随机推荐
- SIFT feature
转载:http://www.cnblogs.com/wangguchangqing/p/4853263.html 1.SIFT概述 SIFT的全称是Scale Invariant Feature Tr ...
- Linux内核调试 - 一般人儿我都不告诉他(一)【转】
转自:http://www.cnblogs.com/armlinux/archive/2011/04/14/2396821.html 悄悄地进入Linux内核调试(一) 本文基址:http://blo ...
- oracle instantclient_11_2插件安装
1.安装plsql 2.instantclient_11_2下载,解压到目录 D:\DevTools\instantclient_11_2 3.打开plsql, 点击“取消” 4.选择“工具”--&g ...
- bzoj2588 Spoj10628. count on a tree
题目描述 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权.其中lastans是上一个询问的答案,初始为0,即第一个 ...
- Day4--------------对文件的权限管理
一.文件权限 ls -l 显示当前文件详细信息 例: -rw-r--rwx.1 root root 1415 11月 9 20:21 anaconda-ks.cfg 依次顺序为:权限信 ...
- Linux C 结构体初始化三种形式
最近看linux代码时发现了结构体 struct 一种新的初始化方式,各方查找对比后总结如下: 1. 顺序初始化教科书上讲C语言结构体初始化是按照顺序方式来讲的,没有涉及到乱序的方式.顺序初始化str ...
- Sudo的用法和Visudo设置
身为程序员,你可以活在一个没有Windows的世界,当你离不开Unix(Linux,Mac...).而在Unix下面,你离不开terminal,离不开sudo. 你知道sudo command,然后输 ...
- Albert Einstein
Einstein always appeared to have a clear view of the problems of physics and the determination to so ...
- HDFS上创建文件、写入内容
1.创建文件 hdfs dfs -touchz /aaa/aa.txt 2.写入内容 echo "<Text to append>" | hdfs dfs -appen ...
- JS高级 - 面向对象3(面向过程改写面向对象)
改写: 1.前提:所有东西都在 onload 里 2.改写:不能有函数嵌套,可以有全局变量 onload --> 构造函数 全局变量 --> 属性 函数 --> 方法 4.改错: t ...