【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的更多相关文章

  1. 【POJ 2485】Highways(Prim最小生成树)

    题目 Prim算法:任选一个点,加入集合,找出和它最近的点,加入集合,然后用加入集合的点去更新其它点的最近距离......这题求最小生成树最大的边,于是每次更新一下最大边. #include < ...

  2. bzoj 2295: 【POJ Challenge】我爱你啊

    2295: [POJ Challenge]我爱你啊 Time Limit: 1 Sec  Memory Limit: 128 MB Description ftiasch是个十分受女生欢迎的同学,所以 ...

  3. 【链表】BZOJ 2288: 【POJ Challenge】生日礼物

    2288: [POJ Challenge]生日礼物 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 382  Solved: 111[Submit][S ...

  4. BZOJ2288: 【POJ Challenge】生日礼物

    2288: [POJ Challenge]生日礼物 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 284  Solved: 82[Submit][St ...

  5. BZOJ2293: 【POJ Challenge】吉他英雄

    2293: [POJ Challenge]吉他英雄 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 80  Solved: 59[Submit][Stat ...

  6. BZOJ2287: 【POJ Challenge】消失之物

    2287: [POJ Challenge]消失之物 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 254  Solved: 140[Submit][S ...

  7. BZOJ2295: 【POJ Challenge】我爱你啊

    2295: [POJ Challenge]我爱你啊 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 126  Solved: 90[Submit][Sta ...

  8. BZOJ2296: 【POJ Challenge】随机种子

    2296: [POJ Challenge]随机种子 Time Limit: 1 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 114  Solv ...

  9. BZOJ2292: 【POJ Challenge 】永远挑战

    2292: [POJ Challenge ]永远挑战 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 513  Solved: 201[Submit][ ...

随机推荐

  1. Java压缩和解压缩文件工具

    Java压缩和解压缩文件工具 学习了: https://www.oschina.net/code/snippet_1021818_48130 http://blog.csdn.net/gaowen_h ...

  2. uva 10003 Cutting Sticks 【区间dp】

    题目:uva 10003 Cutting Sticks 题意:给出一根长度 l 的木棍,要截断从某些点,然后截断的花费是当前木棍的长度,求总的最小花费? 分析:典型的区间dp,事实上和石子归并是一样的 ...

  3. HDU 5045 DP+状压

    2014 ACM/ICPC Asia Regional Shanghai Online 给出N个人做M道题的正确率,每道题仅仅能由一个人做出,而且当全部人都做出来且仅做出一道题时,做过题的人才干够继续 ...

  4. hdu5386 Cover

    Problem Description You have an n∗n matrix.Every grid has a color.Now there are two types of operati ...

  5. 12. mysql show status

    状态名 作用域 详解 Aborted_clients Global 因为client没有正确关闭连接导致client终止而中断的连接数 Aborted_connects Global 试图连接到MyS ...

  6. ftk学习记(首篇)

    [ 声明:版权全部,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 非常早之前就知道ftk了,当时主要是由于买了李先静的书,所以知道了这么一个项目.由于对这样的g ...

  7. Sort和UnSort的小技巧

    Sort和UnSort的小技巧: 记录sortidx,对sortidx再从小到大排序就可以得到用于还原的unsortidx. 对于序列A: sort_idx = np.argsort(A) un_so ...

  8. python黏包现象

    #黏包:发送端发送数据,接收端不知道应如何去接收造成的一种数据混乱现象. #关于分包和黏包: #黏包:发送端发送两个字符串"hello"和"word",接收方却 ...

  9. navigate系列api

    wx.navigateTo  用于保留当前页面.跳转到应用内的某个页面,使用 wx.navigateBack可以返回到原页面.对于页面不是特别多的小程序,通常推荐使用 wx.navigateTo进行跳 ...

  10. gdb usage

    list stack of all threads thread apply all bt