poj 2485 Highways(kruscal or prim最小生成树)
来源:互联网 发布:js搅拌机型号 编辑:程序博客网 时间:2024/04/27 17:44
题意是求最小生成树中的最大边。
来人。。。上模板。。。
kruscal代码:(612k...235ms)
#include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 501;int n, p;int fa[MaxN];struct edge{ int x, y, w; bool operator<(const edge &b)const { return w < b.w; }}e[MaxN * MaxN];int find(int x){ if(fa[x] != x) fa[x] = find(fa[x]); return fa[x];}int kruscal(){ int res = -1; sort(e, e + p); for(int i = 0; i < n; i++) fa[i] = i; for(int i = 0; i < p; i++) { int t1 = find(e[i].x); int t2 = find(e[i].y); if(t1 != t2) { fa[t2] = t1; res = max(res, e[i].w); } } return res;}int main(){ int ncases; scanf("%d", &ncases); while(ncases--) { scanf("%d", &n); p = 0; for(int i = 1; i <= n; i++) { for(int j = 1; j <= n; j++) { scanf("%d", &e[p].w); e[p].x = i; e[p].y = j; p++; } } int ans = kruscal(); printf("%d\n", ans); } return 0;}
prim代码:(528k...172ms)
#include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 501;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n;int prim(){ bool vis[MaxN]; int dis[MaxN]; int res = -1; for(int i = 1; i <= n; i++) { vis[i] = false; dis[i] = INF; } dis[1] = 0; vis[1] = true; int mark = 1; for(int i = 1; i < n ; i++) { for(int j = 1; j <= n; j++) { if(!vis[j] && dis[j] > g[mark][j]) { dis[j] = g[mark][j]; } } int mindis = INF; for(int j = 1; j <= n; j++) { if(!vis[j] && mindis > dis[j]) { mindis = dis[j]; mark = j; } } vis[mark] = true; res = max(res, dis[mark]); } return res;}int main(){ int ncases; scanf("%d", &ncases); while(ncases--) { scanf("%d", &n); for(int i = 1; i <= n; i++) { for(int j = 1; j <= n; j++) { scanf("%d", &g[i][j]); } } int ans = prim(); printf("%d\n", ans); } return 0;}
0 0
- poj 2485 Highways(kruscal or prim最小生成树)
- poj 1287 Networking(prim or kruscal最小生成树)
- poj 2485 Highways prim最小生成树
- POJ 2485 Highways (prim最小生成树)
- POJ 2485 Highways 【最小生成树Prim】
- POJ 1751 Highways(最小生成树prim)
- poj 1751 Highways 最小生成树 prim
- 最小生成树Prim算法 Highways POJ
- POJ 2485-Highways 最小生成树Prim算法
- POJ 2485 Highways(prim 最小生成树)
- POJ 2485 Highways 图论 prim算法 最小生成树
- POJ 2485 Highways(最小生成树 Prim)
- POJ 2485:Highways:典型prim最小生成树(2)
- poj 2485 Highways(prim求最小生成树)
- POJ 2485:Highways(最小生成树&&prim)
- poj 2485 Highways(最小生成树,prim)
- poj 2485 Highways(最小生成树 Prim)
- POJ 2485-Highways(最小生成树prim)
- UVA10791- Minimum Sum LCM
- 超级负载均衡
- Java中线程池创建与使用
- 嵌入式---中断
- 矩阵连乘问题(C++)
- poj 2485 Highways(kruscal or prim最小生成树)
- C++Primer学习札记_指针和const限定符
- PM中的挣值管理
- <PY><core python programming笔记>C6 序列:字符串和列表和元组(三)
- lianjie
- android webview支持<input type="file"类型
- 采药_DP
- Oracle 学习笔记 19 -- 触发器和包浅析(PL/SQL)
- 与冯大辉谈数据库架构(InfoQ)