[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 ...
随机推荐
- adboost方法(转载)
转载链接:http://blog.csdn.net/google19890102/article/details/46376603 一.集成方法(Ensemble Method) 集成方法主要 ...
- 【vim】实时加密文本 ggVGg?
如果你不想让别人看懂你的屏幕上的内容,你可以使用一个内置的选项,通过下面的命令使用 ROT13 来对文本进行编码: ggVGg? gg 把光标移动到 Vim 缓冲区的第一行, V 进入可视模式, G ...
- 嵌入式系统C编程之堆栈回溯
前言 在嵌入式系统C语言开发调试过程中,常会遇到各类异常情况.一般可按需添加打印信息,以便观察程序执行流或变量值是否异常.然而,打印操作会占用CPU时间,而且代码中添加过多打印信息时会显得很凌乱.此外 ...
- BZOJ 3498: PA2009 Cakes 一类经典的三元环计数问题
首先引入一个最常见的经典三元环问题. #include <bits/stdc++.h> using namespace std; const int maxn = 100005; vect ...
- 802.11 af 要点
(1)TVWS工作在 VHF/UHF 频段,欧洲为 470-790MHZ, 美国为 54-698MHZ. (2)GDB(Geolocation Database):地理位置数据库,与其他802.11协 ...
- KVM -> 虚拟机磁盘管理_03
1.KVM磁盘管理 1.KVM qcow2.raw.vmdk等镜像格式说明:http://blog.csdn.net/zhengmx100/article/details/53887162 raw: ...
- nginx实现tomcat的负载均衡及企业内部应用的代理
192.168.3.87 mysql+redis+tomcat 192.168.3.112 nginx:6688 192.168.3.86 nginx+h5 环境准备 a.安装包 open jd ...
- centos7 部署 docker compose
=============================================== 2019/4/10_第1次修改 ccb_warlock == ...
- OneNET麒麟座应用开发之六:与气体质量流量控制器通讯
气体质量流量控制器,简称MFC,通常用于在各种检测中,计量气体的流量.在我们的大气环境数据采集站中,要让气流保持稳定,这样才能准确的获取PM25的数据. 我们采用的气体质量流量控制器具备串口通讯功能, ...
- iOS中按钮点击事件处理方式
写在前面 在iOS开发中,时常会用到按钮,通过按钮的点击来完成界面的跳转等功能.按钮事件的实现方式有多种,其中 较为常用的是目标-动作对模式.但这种方式使得view与controller之间的耦合程度 ...