问题梗概:自从上次某个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)的更多相关文章

  1. 暑假集训(4)第二弹 -----递推(hdu2254)

    题意概括:上次小A在你的帮助下成功炼成贤者法阵的第一部分——三角分隔,现在他准备绘制法阵的第二部分——莫测矩形. 而他又遇到了一个问题,他不知道不同矩形到底有多少个. 秉持帮人帮到底,送佛送到西的基本 ...

  2. 2016huasacm暑假集训训练三 F - Jungle Roads

    题目链接:http://acm.hust.edu.cn/vjudge/contest/123674#problem/F 题意:在相通n个岛屿的所有桥都坏了,要重修,重修每一个桥所用的时间不同,求重修使 ...

  3. 暑假集训(5)第二弹———湫湫系列故事——减肥记I(hdu4508)

    问题描述:舔了舔嘴上的油渍,你陷在身后柔软的靠椅上.在德源大赛中获得优胜的你,迫不及待地赶到“吃到饱”饭店吃到饱.当你 正准备离开时,服务员叫住了你,“先生,您还没有吃完你所点的酒菜.”指着你桌上的一 ...

  4. 暑假集训(2)第二弹 ----- The Suspects(POJ1611)

    B - The Suspects Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:20000KB   ...

  5. 暑假集训(1)第二弹 -----Catch the cow(Poj3278)

    Description Farmer John has been informed of the location of a fugitive cow and wants to catch her i ...

  6. Jungle Roads[HDU1301]

    Jungle Roads Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...

  7. 暑假集训(4)第一弹 -----递推(Hdu2039)

    题意梗概:fff团团员小A想退团了,不过要退团,他必须绘制出贤者法阵,以证明他有资格不受大fff之灵的监督 并退团,小A他现在要开始收集材料了,但是,他不清楚应该买多少份材料. 虽然你并不想帮他退团, ...

  8. 暑假集训(5)第一弹——— Super Jumping! Jumping! Jumping!(hdu1087)

    题意概括:在上次与娑殚的三次博弈中,你们都取得了胜利.便向娑殚提出要求,借助他的力量,传送到一个安全的地方. 你们的愿望达成了,不过,你和小A似乎失散了. 街上人来人往的特别热闹,每一个人的脸上都洋溢 ...

  9. 暑假集训(3)第一弹 -----还是畅通工程(hdu1233)

    题意梗概:N(n<100)个村子想要富起来,自然就要先修路,不过到底还是没富起来,所以陷入了一个怪圈 :资金不足->修不起路->资金不足...... 为了实现走向全民小康社会,全面实 ...

随机推荐

  1. [Bootstrap] 3. Responsive Gridding (.hidden-sm, visible-md)

    Grid Size For .col-md We started designing our site using the col-md-* classes. These classes target ...

  2. Android ListView快速定位(四)

    方法四: 添加一个EditText,作为搜索框 + Filter 其实这个不算第四个方法,因为与第二个一样,主要是实现Filter. 但是对于EditText的监听,我以前也没有写过,所以也记录一下. ...

  3. Gradle的安装与配置

    Gradle的下载地址:http://gradle.org/gradle-download/ Tips:要先安装JDK并配置其环境变量. 下载完成后将里面的文件解压出来,如下图所示: 添加一个名称为G ...

  4. Android(java)学习笔记127:Android Studio新建工程中的build.gradle、settings.gradle

    随着信息化的快速发展,IT项目变得越来越复杂,通常都是由多个子系统共同协作完成.对于这种多系统.多项目的情况,很多构建工具都已经提供了不错的支持,像maven.ant.Gradle除了借鉴了ant或者 ...

  5. datagrid rownumber行号与数据行显示错位的解决办法

    最近在使用datagrid控件,遇到问题多多. 其中一个就是datagrid在使用行编号的情况下,行编号与数据行出现错位的情况,如图:

  6. Android_Intent_passValue(4)

    xml布局文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns ...

  7. docker no permmition problem

    resolved by: sudo docker run --privileged ....

  8. c++ 拷贝构造练习

    #include<iostream> using namespace std; class Vector { private: int *dwp; int size; void clone ...

  9. kali Linux 文本图形界面切换遇到的怪问题

    前段装了在Virtual Box上装一个Kali Linux玩,然后设为了开机进入文本界面,后来遇到无法上网的问题,网上找到解决方法,说是NAT地址转换和host-only双网卡顺序问题,按照网上的说 ...

  10. 中国地图投影(实现Lambert投影)

    一.简介 目前Web地图已经是一个非常普遍的应用,百度地图,高德地图等等极大的方便了我们的生活和学习.本项目主要是在Web完成一个简单的中国地图的绘制,实现Lambert投影. 二.制图源数据信息及来 ...