畅通工程 HDU - 1863 最小生成树模板
两个模板:
kruskal
#include<stdio.h>
#include<queue>
#include<algorithm>
#include<iostream>
using namespace std;
const int maxn = ;
int f[maxn];
int find(int x) {
if (f[x] == x)return x;
else return(f[x] = find(f[x]));
}
bool same(int x, int y) {
return (find(x) == find(y));
}
void un(int x, int y) {
int u = find(x);
int v = find(y);
if (u == v)return;
f[u] = v;
}
struct edge {
int from, to;
long long w;
}e[maxn];
bool cmp(edge a, edge b) {
return a.w < b.w;
}
int main() {
int n, m;
while (cin >> m >> n) {
if (m == )break;
for (int i = ; i < m; i++) {
//int x, y, z;
cin >> e[i].from >> e[i].to >> e[i].w;
}
for (int i = ; i <= n; i++)f[i] = i;
sort(e, e + m, cmp);
int res = ;
for (int i = ; i < m; i++) {
if (same(e[i].from, e[i].to)) continue;
res += e[i].w;
un(e[i].from, e[i].to);
}
for (int i = ; i <= n; i++) {
if (!same(i, ))res = -;
}
if (res == -)cout << '?' << endl;
else cout << res<<endl;
}
}
prim
#include<stdio.h>
#include<queue>
#include<algorithm>
#include<iostream>
#include<vector>
using namespace std;
const int maxn = ;
struct edge {
int to;
long long w;
edge(int to = , long long w = ) :to(to), w(w) {}
bool operator<(const edge &a)const {
return w > a.w;
}
};
vector<edge> E[maxn];
bool vis[maxn];
priority_queue<edge> Q; long long prim() {
long long ret = ;
vis[] = ;
int sz = E[].size(); for (int i = ; i < sz; i++) Q.push(E[][i]);
while (!Q.empty()) {
edge t = Q.top(); Q.pop();
if (vis[t.to])continue;
ret += t.w; vis[t.to] = ;
int sz = E[t.to].size(); for (int i = ; i < sz; i++) Q.push(E[t.to][i]);
}
return ret;
} int main() {
int m, n;
while (cin >> m >> n) {
if (m == )break;
for (int i = ; i <= n; i++)E[i].clear(),vis[i]=;
while (!Q.empty()) Q.pop();
for (int i = ; i < m; i++) {
int a, b, c;
cin >> a >> b >> c;
E[a].push_back(edge(b, c));
E[b].push_back(edge(a, c));
}
int res = prim();
for (int i = ; i <= n; i++) if (!vis[i]) res = -;
if (res == -)cout << '?' << endl;
else cout << res << endl; }
}
畅通工程 HDU - 1863 最小生成树模板的更多相关文章
- 畅通工程 HDU - 1863
省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).经过调查评估,得到的统计表中列出了有可能建设公路的若干条道 ...
- HDU 1875:畅通工程再续(最小生成树)
畅通工程再续 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- HDU 1875 畅通工程再续 (最小生成树)
畅通工程再续 题目链接: http://acm.hust.edu.cn/vjudge/contest/124434#problem/M Description 相信大家都听说一个"百岛湖&q ...
- poj 1251 poj 1258 hdu 1863 poj 1287 poj 2421 hdu 1233 最小生成树模板题
poj 1251 && hdu 1301 Sample Input 9 //n 结点数A 2 B 12 I 25B 3 C 10 H 40 I 8C 2 D 18 G 55D 1 E ...
- HDU - 1232 畅通工程-并查集模板
某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可). ...
- hdu 1874 畅通工程续(SPFA模板)
畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- HDU-1232/NYOJ-608畅通工程,并查集模板题,,水过~~~
畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) http://acm. ...
- L - 还是畅通工程 - hdu 1233
Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达 ...
- 畅通工程 HDU - 1232
某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接 ...
随机推荐
- Windows最全快捷键
单独按Windows:显示或隐藏“开始”功能表 Windows+BREAK:显示“系统属性” 对话框 Windows+D:显示桌面 Windows+M:最小化所有窗口 Windows+Shift+M: ...
- Android图片的合成示例
package com.example.demo; import android.os.Bundle; import android.app.Activity; import android.grap ...
- RF-For循环使用
场景1:
- session会话保持
#coding=utf-8 from flask import Flask from flask import request from flask import redirect from flas ...
- N76E003之ISP
Flash存储器支持硬件编程和应用编程(IAP).如果产品在研发阶段或产品需要更新软固件时,硬件编程就显得不太方便,采用在系统编程(ISP)方式,可使这一过程变得方便.执行ISP不需要将控制器从系统板 ...
- 【转】strlen源码
strlen源码剖析 学习高效编程的有效途径之一就是阅读高手写的源代码,CRT(C/C++ Runtime Library)作为底层的函数库,实现必然高效.恰好手中就有glibc和VC的CRT源代码, ...
- laravel连sql server报invalid handle returned问题解决方案
https://github.com/Microsoft/msphpsql/issues/116 4.1.1驱动下载地址 https://github.com/Microsoft/msphpsql/r ...
- SpringBoot学习之Helloworld
1. 如果使用Spring开发一个"HelloWorld"的web应用 创建一个web项目并且导入相关jar包.SpringMVC Servlet 创建一个web.xml 编写一个 ...
- Elasticsearch学习之嵌套聚合,下钻分析,聚合分析
1. 计算每个tag下的商品数量 GET /ecommerce/product/_search { "aggs": { "group_by_tags": { & ...
- facebook login issue
If enable the facebook account in settings, when change account can't open the session. -(void)fbRes ...