暑假集训(3)第二弹 -----Jungle Roads(Hdu1301)
问题梗概:自从上次某个acmer来设计了拉格瑞圣岛的交通路线后,岛上的酋长就相当苦恼,他发现,虽然这些修好的公路便利了岛上的
交通,并且让拉格瑞圣岛的旅游业更加兴旺,甚至他们还收到了一笔不小的国际资金援助以发展岛屿,但是为了维护这些公路,不被热带
地区的恐怖植物覆盖,他必须拿出一笔不小的财富。这很大程度上影响了岛屿的经济发展。
为了真正发展普世价值精神,你决定去帮助他,找到最短的连接岛上n(1<n<27)个村庄的简单连通图。以便得知那些路是可以放弃继续
维护的。
解题思路:和第一弹的连接问题相似,不过这个图的稠密程度不是很高,考虑使用kruskal算法解决问题。
#include "iostream"
#include "algorithm" using namespace std;
int beg[];
int end[];
int v[];
int num[];
int size[];
int s;
void mset(int n)
{
for (int i=;i<=n;i++)
v[i] = i;
}
int cmp(int x,int y)
{
return size[x] < size[y];
}
int findroot(int x)
{
while (x != v[x])
{
v[x] = v[v[x]];
x = v[x];
}
return x;
}
void kru (int n)
{
int x,y,sum=;
sort (num+,num+s+,cmp);
for (int i=;i<=s;i++)
{
x = findroot(beg[num[i]]);
y = findroot(end[num[i]]);
if (x != y)
{
sum += size[num[i]];
v[y] = x;
}
}
cout<<sum<<endl;
}
int main()
{
int n,m,l,k;
char c,d;
while (cin>>n && n)
{
mset(n);
k=;
s=;
for (int i=;i<=n-;i++)
{
cin>>c>>m;
s += m;
while (m--)
{
cin>>d>>l;
beg[k] = int (c-);
end[k] = int (d-);
size[k] = l;
num[k] = k++;
}
}
kru(n);
}
return ;
}
暑假集训(3)第二弹 -----Jungle Roads(Hdu1301)的更多相关文章
- 暑假集训(4)第二弹 -----递推(hdu2254)
题意概括:上次小A在你的帮助下成功炼成贤者法阵的第一部分——三角分隔,现在他准备绘制法阵的第二部分——莫测矩形. 而他又遇到了一个问题,他不知道不同矩形到底有多少个. 秉持帮人帮到底,送佛送到西的基本 ...
- 2016huasacm暑假集训训练三 F - Jungle Roads
题目链接:http://acm.hust.edu.cn/vjudge/contest/123674#problem/F 题意:在相通n个岛屿的所有桥都坏了,要重修,重修每一个桥所用的时间不同,求重修使 ...
- 暑假集训(5)第二弹———湫湫系列故事——减肥记I(hdu4508)
问题描述:舔了舔嘴上的油渍,你陷在身后柔软的靠椅上.在德源大赛中获得优胜的你,迫不及待地赶到“吃到饱”饭店吃到饱.当你 正准备离开时,服务员叫住了你,“先生,您还没有吃完你所点的酒菜.”指着你桌上的一 ...
- 暑假集训(2)第二弹 ----- The Suspects(POJ1611)
B - The Suspects Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:20000KB ...
- 暑假集训(1)第二弹 -----Catch the cow(Poj3278)
Description Farmer John has been informed of the location of a fugitive cow and wants to catch her i ...
- Jungle Roads[HDU1301]
Jungle Roads Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- 暑假集训(4)第一弹 -----递推(Hdu2039)
题意梗概:fff团团员小A想退团了,不过要退团,他必须绘制出贤者法阵,以证明他有资格不受大fff之灵的监督 并退团,小A他现在要开始收集材料了,但是,他不清楚应该买多少份材料. 虽然你并不想帮他退团, ...
- 暑假集训(5)第一弹——— Super Jumping! Jumping! Jumping!(hdu1087)
题意概括:在上次与娑殚的三次博弈中,你们都取得了胜利.便向娑殚提出要求,借助他的力量,传送到一个安全的地方. 你们的愿望达成了,不过,你和小A似乎失散了. 街上人来人往的特别热闹,每一个人的脸上都洋溢 ...
- 暑假集训(3)第一弹 -----还是畅通工程(hdu1233)
题意梗概:N(n<100)个村子想要富起来,自然就要先修路,不过到底还是没富起来,所以陷入了一个怪圈 :资金不足->修不起路->资金不足...... 为了实现走向全民小康社会,全面实 ...
随机推荐
- 教你50招提升ASP.NET性能(五):确保分页是在数据层完成的
(11)Make sure paging is conducted at the database layer 招数11: 确保分页是在数据层完成的 When using grid UI contro ...
- Java获得UTC时间
在Java语言中,您可以通过java.util.Calendar类取得一个本地时间或者指定时区的时间实例,如下: 取得本地时间: java.util.Calendar cal = java.util. ...
- Nginx加多个tomcat实现负载均衡,动静分离
一:Nginx+Tomcat的动静分离 所谓动静分离就是通过nginx(或apache等)来处理用户端请求的图片.html等静态的文件,tomcat(或weblogic)处理jsp.do等动态文件,从 ...
- 图解iPhone开发新手教程
如今的智能手机越来越风行了,当中尤以Apple的iPhone和Google的Android系统最为流行,这里我将向大家介绍iPhone开发的基础知识.为了便于刚開始学习的人尽快上手,我尽量以代码加截图 ...
- [Effective C++ --019]设计class犹如设计type
前言 我们在编写程序的时候,无论哪一种语言,总是会告诉你这种语言应该有的类型.我们将它们直接拿来使用,可是从来没有考虑过这些类到底是怎么设计出来的! 所幸的是:在OOP中,每当我们定义一个新的clas ...
- js之parentElement属性
<html> <head> </head> <body> <form name="a "> <table name ...
- java_jdbc_spring框架查询操作简例
1.添加commons-dbcp-1.4,commons-logging,commons-pool-1.2//线程池,commons.collections-3.2.1.jar,spring.jar ...
- 解决FLASH最高层的问题,让FLASH置于div之下
三个步骤:1.设置div 的 z-index:9999 //在最上面显示 这一步就可以保证div在img之上2.<param name="wmode" value=" ...
- Centos7 安装mongodb3.2.9 过程
1:wget --no-check-certificate https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.2.9.tg ...
- 实现虚拟机上面的linux系统和windows主机的通信
一:配置静态ip 1:使用startx命名切换到图形化用户界面: 2:在“开始”——“系统设置”——“网络”——eth0 将通过dchp自动获取ip改为静态绑定ip ip地址:填入你要给的ip,需要与 ...