问题梗概:自从上次某个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. 从经典问题来看 Copy 方法(转)

    来自:Gua | 瓜地 链接:https://desgard.com/copy/  在初学 iOS 的时候,可能会被灌输这么一个常识,切记 NSString 的 property 的修饰变量要写作 c ...

  2. $_SERVER详细资料整理(转)

    PHP编程中经常需要用到一些服务器的一些资料,特把$_SERVER的详细参数整理下,方便以后使用. $_SERVER['PHP_SELF'] #当前正在执行脚本的文件名,与 document root ...

  3. 大作业 XXX大学 课程管理系统

    #include<stdio.h> #include<iostream> #include<string.h> #include <fstream> # ...

  4. 支持向量机(SVM)算法的matlab的实现

    支持向量机(SVM)的matlab的实现 支持向量机是一种分类算法之中的一个,matlab中也有对应的函数来对其进行求解:以下贴一个小例子.这个例子来源于我们实际的项目. clc; clear; N= ...

  5. iOS蓝牙中的进制转换

    Bluetooth4.0.jpg 最近在忙一个蓝牙项目,在处理蓝牙数据的时候,经常遇到进制之间的转换,蓝牙处理的是16进制(NSData),而我们习惯的计数方式是10进制,为了节省空间,蓝牙也会把16 ...

  6. nginx学习七 高级数据结构之动态数组ngx_array_t

    1 ngx_array_t结构 ngx_array_t是nginx内部使用的数组结构.nginx的数组结构在存储上与大家认知的C语言内置的数组有相似性.比方实际上存储数据的区域也是一大块连续的内存. ...

  7. android132 360 05 手机定位

    .网络定位:根据ip地址定位,根据ip地址在实际地址数据库中查询实际地址. 缺点:动态ip导致地址不准确. .基站定位:3个基站就可以确定实际位置,定位范围是几百米到几公里不等. .GPS定位:美国卫 ...

  8. C++中如何修改const变量

      一.结论 声明:不同于C语言的const变量修改问题(可以通过指针间接修改const变量的值),这里只讨论C++ 里的const. C++ const 修饰符,表示常量,即如果以后保证不会修改则声 ...

  9. 文本框的placeholder属性

    在文本框中添加placeholder属性,用于文本框处于未输入状态时,模糊显示输入提示,当用户进行输入时,不需要删除该提示文字. 如: <input type="text" ...

  10. 绿荫工作室爱选修app内测

    下载地址:http://greendasungta.com/greencms/ixuanxiu.apk 开发目的是用于方便在校生的选课操作以及对选修课的交流.