还是畅通工程(MST)
Description
Input
当N为0时,输入结束,该用例不被处理。
Output
Sample Input
1 2 1
1 3 2
2 3 4
4
1 2 1
1 3 4
1 4 1
2 3 3
2 4 2
3 4 5
0
Sample Output
5
Hint
Hint Huge input, scanf is recommended.
#include<stdio.h>
#include<iostream>
#include<string.h>
#define maxn 0x3fff
using namespace std;
int d[] , map[][] , v[] ;//d[i]用来存放(i - 1) - th ~ i - th (point) 的权值 , v[i] 中0表示没选过 , 1表示选过
int n , m ; int prim (int start )
{
int mm , x ;
for (int i = ; i <= n ; i++)
d[i] = i == start ? : maxn ; //给 起始点 和 非起始点 涂色
for (int i = ; i <= n ; i++) {
mm = maxn ;
for (int j = ; j <= n ; j++) { //找出权值最小的边
if ( !v[j] && d[j] < mm ) {
mm = d[j] ;
x = j ;
}
}
v[x] = ;
for (int j = ; j <= n ; j++ ) {
if ( !v[j] && d[j] > map[x][j] && map[x][j] != maxn )
d[j] = map[x][j] ;
}
}
int tmp = ;
for (int i = ; i <= n ; i++)
tmp += d[i] ;
return tmp ;
} int main ()
{
// freopen ("a.txt" , "r" , stdin ) ;
int val ;
int a , b ;
int res ;
while ( cin >> n , n) {
m = n * (n - ) >> ;
memset (map , 0x3f , sizeof(map) ) ;
memset (v , , sizeof(v) ) ;
for(int i = ; i <= m ; i++ )
{
scanf ("%d%d%d", &a , &b , &val );
if( val < map[a][b] )
{
map[a][b] = val;
map[b][a] = val;
}
}
res = prim() ;
cout << res << endl ;
}
return ;
}
200 ms prim
#include<stdio.h>
#include<algorithm>
using namespace std;
int fa[] , n , m ;
struct edge
{
int u , v , w ;
}e[]; int cmp (edge a , edge b)
{
return a.w < b.w ;
} int find (int x)
{
return fa[x] == x ? x : find(fa[x]) ;
} void kruskal ()
{
sort (e + , e + m + , cmp ) ;
int ans = , x , y ;
for (int i = ; i <= m ; i++ ) {
x = find (e[i].u) ;
y = find (e[i].v) ;
if ( x != y) {
ans += e[i].w ;
fa[x] = y ;
}
}
printf ("%d\n" , ans ) ;
}
int main ()
{
// freopen ("a.txt" , "r" , stdin ) ;
while (~ scanf ("%d" , &n ) , n ) {
for (int i = ; i <= n ; i++)
fa[i] = i ;
m = n * (n - ) >> ;
for (int i = ; i <= m ; i++ ) {
scanf ("%d%d%d" , &e[i].u , &e[i].v , &e[i].w ) ;
}
kruskal () ;
}
return ;
}
kruskal
还是畅通工程(MST)的更多相关文章
- hdu 1233 - 还是畅通工程(MST)
还是畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- hdu 1863 - 畅通工程(MST)
畅通工程 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- hdu1863 畅通工程---MST&连通
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1863 题目大意: 中文题,求MST权值,如果不连通,输出? 解题思路: 这道题帮我找出了之前模板中的 ...
- hdu-1233 还是畅通工程---MST模板
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1233 题目大意: 求MST最小生成树 解题思路: Prim算法直接套即可 #include<b ...
- hdu-1879 继续畅通工程---确定部分边的MST
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1879 题目大意: 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的 ...
- MST(最小生成树)——Prim算法——HDU 1879-继续畅通工程
Prim算法很好理解,特别是学完了迪杰斯特拉算法之后,更加能理解Prim的算法思想 和迪杰斯特拉算法差不多,由于最后要形成连通图,故任意指定一个点,作为初始点,遍历所有点,以当前最小权值的点(和迪杰斯 ...
- 畅通工程再续(MST)
畅通工程再续 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Statu ...
- HDU 1863 畅通工程(Prim算法求解MST)
题目: 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本.现 ...
- 最小生成树(MST) prim() 算法 kruskal()算法 A - 还是畅通工程
某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离. 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公 ...
随机推荐
- 人家为撩妹就鼓捣个网页,我做了个约炮APP(已开源)
每年初夏第一场雷雨刚过,漫步河边的草坪,总是能闻到伴随着泥土的清新,这不是coco的前香,让人神魂颠倒:也不是gucci的后香,让人痴迷如梦.如24节气一样,它提醒人们,夏天到了.昨晚成都下了第一场雷 ...
- Android Studio修改项目的包名
android studio的修改包名,没有有Eclipse环境中那么好操作.也可能你对Eclipse的操作比较熟悉,对Andoid Studio的操作还不太熟悉.在项目的开发中,你可能遇到需要更改模 ...
- C++实现反射机制
NET下的很多技术都是基于反射机制来实现的,反射让.NET平台下的语言变得得心应手.最简单的,比如枚举类型,我们我可以很容易的获得一个枚举变量的数值以及其名称字符串. 可是,在C++中,枚举变量本质上 ...
- Git.Framework 框架随手记--准备工作
前面已经提到过了本框架的由来,时至今日该框架已经和最初版本有了天壤之别.因为仍有部分代码是采用原有的框架,所以本框架也算不上原创,只是在原有的基础上不断的改进,所以希望了解此框架的人不要过多的指责. ...
- 附加到iis进程调试时找不到w3wp.exe
在进程列表的下面,有个show processes in all sessions,把它勾上就能看到了
- Linq之IQueryable接口与IEnumberable区别
IEnumerable接口 公开枚举器,该枚举器支持在指定类型的集合上进行简单迭代.也就是说:实现了此接口的object,就可以直接使用foreach遍历此object: IEnumerable 包含 ...
- 网站开发技巧, 使用byte[]持久化用户个性设置
场景, 网站用户的个性化配置较多, 而且容易发生增加和改变, 如何在数据库保存是个问题. 为了避免数据库表字段经常变更, 我们设计在表增加一个varbinary(max)字段存储个性化配置. 个性化的 ...
- NIO提升系统性能
前言 在软件系统中,I/O的速度要比内存的速度慢很多,因此I/O经常会称为系统的瓶颈.所有,提高I/O速度,对于提升系统的整体性能有很大的作用. 在java标准的I/O中,是基于流的I/O的实现,即I ...
- simple-LDAP-auth
<?php /** * simple class for LDAP authentification * Copyright (C) 2013 Petr Palas This program i ...
- Spring-dispatcherServlet
对于分析SpringMVC,其实就是遵循Servlet世界里最简单的法则“init-service-destroy”. 对于分析SpringMVC的初始化流程,就是分析DispatcherServle ...