暑假集训(3)第一弹 -----还是畅通工程(hdu1233)
题意梗概:N(n<100)个村子想要富起来,自然就要先修路,不过到底还是没富起来,所以陷入了一个怪圈 :资金不足->修不起路->资金不足......
为了实现走向全民小康社会,全面实现三个现代化,坚持党的四项......咳咳,总之,你作为一名红领巾,需要提供一种花费最少(即路径最短),又能
让它们各个村庄,都联系起来的修路方法,帮助村民解决困难。
问题分析:可以把路径的长短看作权值大小,因此,只需用一些方法村庄图的最小生成树,将权值一一相加就可以得到答案,求最小生成树有很多种方法,
譬如说prim算法或者kruskal算法,这里村庄之间都是相互连通的(没有路0.0),属于稠密图,显然复杂度至于顶点个数有关的prim算法更为合适。
#include "cstdio"
#include "cstring"
int v[][];
int flag[];
int prim(int n)
{
int mi,t=n,k,sum=;
while (--t)
{
mi = ;
for (int i=;i<=n;i++)
{
if (mi > v[][i] && !flag[i] )
{
mi = v[][i];
k = i;
}
}
sum += mi;
flag[k] = ;
for (int i=;i<=n;i++)
{
if (v[][i] > v[k][i] && !flag[i])
v[][i] = v[k][i];
}
}
return sum;
}
int main()
{
int n,a,b,c;
while (scanf ("%d",&n) && n)
{
memset(v,,sizeof(v));
for (int j=;j<=n*(n-)/;j++)
{
scanf ("%d%d%d",&a,&b,&c);
v[a][b] = v[b][a] = c;
}
memset(flag,,sizeof(flag));
printf ("%d\n",prim(n));
}
return ;
}
暑假集训(3)第一弹 -----还是畅通工程(hdu1233)的更多相关文章
- 暑假集训(4)第一弹 -----递推(Hdu2039)
题意梗概:fff团团员小A想退团了,不过要退团,他必须绘制出贤者法阵,以证明他有资格不受大fff之灵的监督 并退团,小A他现在要开始收集材料了,但是,他不清楚应该买多少份材料. 虽然你并不想帮他退团, ...
- 暑假集训(1)第一弹 -----士兵队列训练问题(Hdu1276)
Description 某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报 ...
- 2016huasacm暑假集训训练三 G - 还是畅通工程
题目链接:http://acm.hust.edu.cn/vjudge/contest/123674#problem/G 这题和上一道题差不多,还更简单点,直接用prim算法就行,直接贴AC代码: im ...
- 暑假集训(5)第一弹——— Super Jumping! Jumping! Jumping!(hdu1087)
题意概括:在上次与娑殚的三次博弈中,你们都取得了胜利.便向娑殚提出要求,借助他的力量,传送到一个安全的地方. 你们的愿望达成了,不过,你和小A似乎失散了. 街上人来人往的特别热闹,每一个人的脸上都洋溢 ...
- 暑假集训(2)第一弹 -----Is It A Tree?(Poj308)
A - Is It A Tree? Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:10000KB ...
- 暑假集训(3)第二弹 -----Jungle Roads(Hdu1301)
问题梗概:自从上次某个acmer来设计了拉格瑞圣岛的交通路线后,岛上的酋长就相当苦恼,他发现,虽然这些修好的公路便利了岛上的 交通,并且让拉格瑞圣岛的旅游业更加兴旺,甚至他们还收到了一笔不小的国际资金 ...
- 还是畅通工程[HDU1233]
还是畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...
- (最小生成树 )还是畅通工程 -- HDU--1233
链接: http://acm.hdu.edu.cn/showproblem.php?pid=1233 http://acm.hust.edu.cn/vjudge/contest/view.action ...
- 暑假集训(4)第二弹 -----递推(hdu2254)
题意概括:上次小A在你的帮助下成功炼成贤者法阵的第一部分——三角分隔,现在他准备绘制法阵的第二部分——莫测矩形. 而他又遇到了一个问题,他不知道不同矩形到底有多少个. 秉持帮人帮到底,送佛送到西的基本 ...
随机推荐
- 去ECSHOP版权,去官方后门
ECShop是一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店.系统开源但不免费,是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序.目前最新版本为2.7.3 0708版.1.首先 ...
- iOS开发——高级技术&生成二维码
生成二维码 因为项目里需要新增个功能,该功能用到了二维码技术.于是我便查阅了资料,先学习了二维码的生成. 我们使用libqrencode库来生成二维码.下载地址http://download.cs ...
- android学习日记21--消息提示之Toast和Notification
1.Toast Toast译为土司,类似切片面包,用于弹出比较快速的及时提示信息.当Toast被显示时,虽然它悬浮应用程序最上方,但是并未获得焦点.它的设计就是为了提示有用的信息,而不打扰用户其他操作 ...
- (转)Dependency Walker使用说明
在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库.现在就让我们走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧! 初窥门径:Windows的基石 随便打开一个系统目录, ...
- xss脚本攻击
xss脚本攻击不仅仅只是alert(1)就算完了,xss脚本攻击真正的用处是盗取普通用户的cookie,或者盗取管理员的cookie. xss分类(类型): 1. 反射型xss2. 存储型xss3. ...
- LoadRunner测试问题
1.关于Error -27791: Error -27790:Error -27740: 错误如下: Action.c(198): Error -27791: Server has shut down ...
- Logstash add_field 参数应用
使用 add_field 参数有两种需求: 1. 直接加入到 event 的 hash 顶级对象中 add_field => { "my_field_one" => & ...
- loadjs异步加载javascript回调
function loadjs(url,callback){ var script=document.createElement('script'); script.type=" ...
- Linux源码的目录结构
Linux用来支持各种体系结构的源代码包含大约4500个C语言程序,存放在270个左右的子目录下,总共大约包含200万行代码,大概占用58MB磁盘空间. 源代码所有在目录:/usr/src/linu ...
- 获取XML配置数据
XML结构: <Setting> <BIG> <tdHead> <td TdName="序号" TdWidth=&quo ...