【POJ 2485】 Highways
最小生成树模板
Prim
#include
using namespace std;
int mp[501][501];
int dis[501];
bool vis[501];
int n;
int Prim()
{
int i,j,w,p,mm = 0;
memset(dis,-1,sizeof(dis));
memset(vis,0,sizeof(vis));
dis[1] = 0;
for(i = 0; i < n; ++i)
{
w = INF;
for(j = 1; j <= n; ++j)
{
if(!vis[j] && dis[j] < w && dis[j] != -1)
{
p = j;
w = dis[j];
}
}
vis[p] = 1;
mm = max(mm,w);
for(j = 1; j <= n; ++j)
{
if(!vis[j] && (dis[j] == -1 || dis[j] > mp[p][j]))
dis[j] = mp[p][j];
}
}
return mm;
}
int main()
{
int t,i,j;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(i = 1; i <= n; ++i)
{
for(j = 1; j <= n; ++j)
{
scanf("%d",&mp[i][j]);
}
}
printf("%d\n",Prim());
}
return 0;
}
Kruskal
#include
using namespace std;
typedef struct Edge
{
int u,v,w;
bool operator < (const struct Edge a)const
{
return w < a.w;
}
}Edge;
Edge eg[255555];
int pre[555];
int tp;
void Init(int n)
{
int i;
for(i = 1; i <= n; ++i)
pre[i] = i;
}
int Find(int x)
{
if(x != pre[x]) pre[x] = Find(pre[x]);
return pre[x];
}
int main()
{
int t,n,i,j,w,k,r,mm,cnt;
scanf("%d",&t);
while(t--)
{
tp = 0;
scanf("%d",&n);
Init(n);
for(i = 1; i <= n; ++i)
{
for(j = 1; j <= n; ++j)
{
scanf("%d",&w);
if(j > i)
{
eg[tp].w = w;
eg[tp].u = i;
eg[tp++].v = j;
}
}
}
sort(eg,eg+tp);
mm = cnt = 0;
for(i = 0; i < tp; ++i)
{
k = Find(eg[i].u);
r = Find(eg[i].v);
if(k != r)
{
pre[k] = r;
mm = max(mm,eg[i].w);
cnt++;
}
if(cnt == n-1) break;
}
printf("%d\n",mm);
}
return 0;
}
【POJ 2485】 Highways的更多相关文章
- 【POJ 2485】Highways(Prim最小生成树)
题目 Prim算法:任选一个点,加入集合,找出和它最近的点,加入集合,然后用加入集合的点去更新其它点的最近距离......这题求最小生成树最大的边,于是每次更新一下最大边. #include < ...
- bzoj 2295: 【POJ Challenge】我爱你啊
2295: [POJ Challenge]我爱你啊 Time Limit: 1 Sec Memory Limit: 128 MB Description ftiasch是个十分受女生欢迎的同学,所以 ...
- 【链表】BZOJ 2288: 【POJ Challenge】生日礼物
2288: [POJ Challenge]生日礼物 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 382 Solved: 111[Submit][S ...
- BZOJ2288: 【POJ Challenge】生日礼物
2288: [POJ Challenge]生日礼物 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 284 Solved: 82[Submit][St ...
- BZOJ2293: 【POJ Challenge】吉他英雄
2293: [POJ Challenge]吉他英雄 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 80 Solved: 59[Submit][Stat ...
- BZOJ2287: 【POJ Challenge】消失之物
2287: [POJ Challenge]消失之物 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 254 Solved: 140[Submit][S ...
- BZOJ2295: 【POJ Challenge】我爱你啊
2295: [POJ Challenge]我爱你啊 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 126 Solved: 90[Submit][Sta ...
- BZOJ2296: 【POJ Challenge】随机种子
2296: [POJ Challenge]随机种子 Time Limit: 1 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 114 Solv ...
- BZOJ2292: 【POJ Challenge 】永远挑战
2292: [POJ Challenge ]永远挑战 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 513 Solved: 201[Submit][ ...
随机推荐
- [SharePoint2010开发入门经典]一、SPS2010介绍
本章概要: 1.熟悉SPS基本特性 2.理解SPS基础架构 3.开发SPS工具
- [Beginning SharePoint Designer 2010]Chapter5 主题和样式
本章概要: 1.什么是CSS 2.样式表的组成 3.如何管理CSS适应SPD的工具和特性 4.被SPS使用的关键的CSS类别 5.使用SPD应用样式到你的站点上
- MySQL DROP TABLE操作以及 DROP 大表时的注意事项
语法: 删表 DROP TABLE Syntax DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CA ...
- 回想四叉树LOD地形(上)
唉.~事实上这是在差点儿相同一年前实现的东西,但当时没作好记录.放了那么久了,假设不做点总结的话,好像有点对不起自己,于是·········还是做点什么吧. 我脑洞比較小, ...
- hdu 4603 Color the Tree
这道题细节真的非常多 首先能够想到a和b的最优策略一定是沿着a和b在树上的链走,走到某个点停止,然后再依次占据和这个点邻接的边 所以,解决这道题的过程例如以下: 预处理阶段: step 1:取随意一个 ...
- node.js流复制文件
转自:http://segmentfault.com/a/1190000000519006 nodejs的fs模块并没有提供一个copy的方法,但我们可以很容易的实现一个,比如: var source ...
- Ubuntu 16.04安装Caffe的记录及FCN官方代码的配置
相关内容搜集自官方文档与网络,既无创新性,也不求甚解,我也不了解Caffe,仅仅搭上之后做个记录,方便以后重装 安装依赖项sudo apt-get install libprotobuf-dev li ...
- elasticsearch集群添加节点
最简配置文件: cluster.name: your_cluster_name node.name: your_ip network.host: 0.0.0.0 http.port: your_p ...
- Object-oriented programming
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects&qu ...
- Unity 烘焙的2种方式
游戏场景通常有许多光源,使用实时渲染会非常消耗性能,解决办法是烘焙,烘焙有2种方式. 1, 在3dmax等模型制作软件中对场景进行烘焙.将烘焙好的模型以及贴图导入到unity3d. 相对复杂但效果好 ...