hdu4313 贪心+并查集
题意简单思路也还可以。开始从小到大排序非常烦。后来从大到小就很简单了;
从大到小解决了删除的边最小。
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define maxn 100010
using namespace std;
#define LL long long
struct node
{
int x,y;
LL v;
}edge[maxn];
int pa[maxn],n,m,vis[maxn];
bool cmp(node a,node b)
{
return a.v>b.v;
}
void init()
{
int i;
for(i=;i<=n;i++)
pa[i]=i;
}
int find (int x)
{
if(x!=pa[x])
pa[x]=find(pa[x]);
return pa[x];
}
void kruskal()
{
int i,j;
LL ans=;
for(i=;i<n-;i++)
{
int fx=find(edge[i].x);
int fy=find(edge[i].y);
if(vis[fx]&&vis[fy])
{
ans+=edge[i].v;
}
else if(vis[fx])
pa[fy]=fx;
else if(vis[fy])
pa[fx]=fy;
else pa[fx]=fy;
}
printf("%I64d\n",ans);
}
int main()
{
int i,j,t;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
init();
memset(vis,,sizeof(vis));
for(i=;i<n-;i++)
{
scanf("%d%d%lld",&edge[i].x,&edge[i].y,&edge[i].v);
}
for(i=;i<m;i++)
{
int c;
scanf("%d",&c);
vis[c]=;
}
sort(edge,edge+n-,cmp);
kruskal();
}
}
hdu4313 贪心+并查集的更多相关文章
- POJ 1456 Supermarket(贪心+并查集)
题目链接:http://poj.org/problem?id=1456 题目大意:有n件商品,每件商品都有它的价值和截止售卖日期(超过这个日期就不能再卖了).卖一件商品消耗一个单位时间,售卖顺序是可以 ...
- poj1456(贪心+并查集)
题目链接: http://poj.org/problem?id=1456 题意: 有n个商品, 已知每个商品的价格和销售截止日期, 每销售一件商品需要花费一天, 即一天只能销售一件商品, 问最多能买多 ...
- Codeforces 437D The Child and Zoo(贪心+并查集)
题目链接:Codeforces 437D The Child and Zoo 题目大意:小孩子去參观动物园,动物园分非常多个区,每一个区有若干种动物,拥有的动物种数作为该区的权值.然后有m条路,每条路 ...
- POJ - 1456 贪心+并查集
做法一:直接贪心,按照利润排序,然后直接尽量给每个活动安排到最晚的时间即可.时间复杂度O(n * d)当d都为10000时,很容易超时.由于这题数据比较水,所有贪心未超时. AC代码 #include ...
- poj1456 Supermarket 贪心+并查集
题目链接:http://poj.org/problem?id=1456 题意:有n个物品(0 <= n <= 10000) ,每个物品有一个价格pi和一个保质期di (1 <= pi ...
- GYM 101173 F.Free Figurines(贪心||并查集)
原题链接 题意:俄罗斯套娃,给出一个初始状态和终止状态,问至少需要多少步操作才能实现状态转化 贪心做法如果完全拆掉再重装,答案是p[i]和q[i]中不为0的值的个数.现在要求寻找最小步数,显然要减去一 ...
- poj1256(贪心+并查集)
题目链接:http://poj.org/problem?id=1456 题意:给n件商品的价格和卖出截至时间,每一个单位时间最多只能卖出一件商品,求能获得的最大利润. 思路:首先是贪心,为获得最大利润 ...
- bzoj1050[HAOI2006]旅行comf(枚举+贪心+并查集)
Description 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000).给你两个顶点S和T,求一条路径,使得路径上最大 ...
- 【BZOJ1854】游戏[SCOI2009](神奇贪心+并查集)
这道题和今年GDKOI的Day2T2很像(然而gdkoi的题用网络流可以A,这道题只能拿30). 网址:http://www.lydsy.com/JudgeOnline/problem.php?id= ...
随机推荐
- 基于TensorFlow理解CNN中的padding参数
1 TensorFlow中用到padding的地方 在TensorFlow中用到padding的地方主要有tf.nn.conv2d(),tf.nn.max_pool(),tf.nn.avg_pool( ...
- service network restart 报错重启失败
Job for network.service failed because the control process exited with error code. See “systemctl st ...
- 一些CSS知识点备忘
RGBA指的是“红色.绿色.蓝色和Alpha透明度”(Red-Green-Blue-Alpha). HSLA代表“色调.饱和度.亮度和Alpha透明度”(Hue-Saturation-Lightnes ...
- 一次完整的HTTP事务的过程、从输入URL到网页展示,浏览器都经历了什么?
详细介绍:老生常谈-从输入url到页面展示到底发生了什么 (1)一次完整的HTTP事务的过程 基本流程: a. 域名解析 b. 发起TCP的3次握手 c. 建立TCP连接后发起http请求 d. 服务 ...
- git学习记录——分支管理和多人协作
在公司里难免会出现多个人一起工作,这就需要构建多个分支派发给多个人去干活 这就产生一个需求,分支管理 分支的创建,合并和删除 其他版本控制系统如SVN等都有分支管理,但是用过之后你会发现,这些版本控制 ...
- Hibernate: insert into xxx (name) values (?)但是数据库中没有数据
学习hibernate 控制台提示 但数据库中没有任何数据被插入 同样的代码,参考例程中就有数据被插入 比较无解,删除部分代码,红框中的部分,运行一下,再贴回去,就好了
- [翻译] MaxMind DB 文件格式规范
MaxMind DB 文件格式规范来源:http://maxmind.github.io/MaxMind-DB/翻译:御风(TX:965551582)2017-03-23 -------------- ...
- 转:解决Onethink上传视频的问题 超棒的解决方案
用过Onethink的都知道,它是不能上传视频的. 有人想到用上传附件的方式上传视频,但是结果……就是提示没有上传文件. 要是正常上传个一两兆的图片啊,压缩文件什么的还是可以的. 所以,重点来了 怎么 ...
- git出现“The file will have its original line endings in your working directory”错误
一.现象: git add *时出现如下现象: The file will have its original line endings in your working directory 解决: G ...
- selenium(2):环境搭建完成后,初步运行遇到的问题
检验是否搭建成功. . 问题一:运行时候,报错:请停用以开发者模式运行的扩展程序 出现错误如下: 原因:chromedriver的版本号过低了. 解决办法:应该安装与chrome版本对应的chrome ...