【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][ ...
随机推荐
- Qunie——自我生成程序
Qunie是一段没有输入.但输出和它本身源代码同样的程序.本文无不论什么高深技术,纯属娱乐! 近期看到wikipedia的一个词条--Quine,简单介绍部分摘录于此,并简要翻译: A quine i ...
- ARP协议(3)ARP编程--winpcap&vs2012配置
好.之前说了那么多.最终到了,我们能够操刀的时候了. 在对ARP协议编程前.我们必需要能控制网络适配器(网卡).这个部分就是驱动! "我们要编写网卡驱动?",对,可是,至少我们现阶 ...
- 网页爬虫框架jsoup介绍
序言:在不知道jsoup框架前,因为项目需求.须要定时抓取其它站点上的内容.便想到用HttpClient方式获取指定站点的内容.这样的方法比較笨,就是通过url请求指定站点.依据指定站点返回文本解析. ...
- 循环神经网络(RNN, Recurrent Neural Networks)介绍
原文地址: http://blog.csdn.net/heyongluoyao8/article/details/48636251# 循环神经网络(RNN, Recurrent Neural Netw ...
- 杂项:ExtJS
ylbtech-杂项:ExtJS extjs是一种软件.自动生成行号,支持checkbox全选,动态选择显示哪些列,支持本地以及远程分页,可以对单元格按照自己的想法进行渲染,这些也算可以想到的功能. ...
- 常见DDOS攻击原理和防御
常见的DDOS攻击主要分为流量型攻击和cc攻击: 流量型攻击主要通过发送大量的非法报文侵占正常业务带宽 包括SYN Flood/ SYN-ACK Flood /ACK Flood/ FIN/RST F ...
- 动态连通性问题:union-find算法
写在前面的话: 一枚自学Java和算法的工科妹子. 算法学习书目:算法(第四版) Robert Sedgewick 算法视频教程:Coursera Algorithms Part1&2 本文 ...
- Android接口回调的理解
1.各种理解 <1>说白了,就是拿到对象引用,调其方法 <2>实际上就是利用多态的方式调用而已 <3>其实很容易理解的,定义接口,然后提供一个外部的接口设置进去,然 ...
- 「JavaSE 重新出发」05.01 继承
继承 一个对象变量可以指示多种实际类型的现象被称为多态(polymorphism). 在运行时能够自动地选择调用哪个方法的现象称为动态绑定(dynamic binding). 如果是private方法 ...
- thinkphp 5 count()方法在控制器,模板中的使用方法
thinkphp中关于count()方法的使用: 控制器中:echo count($arr)模板中:{$arr | count}模板中if判断语句中 <if condition="co ...