hdu 5441 travel 离线+带权并查集
Time Limit: 1500/1000 MS (Java/Others)
Memory Limit: 131072/131072 K (Java/Others)
For each test case, the first line consists of three integers n,m and q where n≤20000,m≤100000,q≤5000. The Undirected Kingdom has n cities and mbidirectional roads, and there are q queries.
Each of the following m lines consists of three integers a,b and d where a,b∈{1,...,n} and d≤100000. It takes Jack d minutes to travel from city a to city b and vice versa.
Then q lines follow. Each of them is a query consisting of an integer x where x is the time limit before Jack goes berserk.
Note that (a,b) and (b,a) are counted as different pairs and a and b must be different cities.
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<set> using namespace std; struct Edge
{
int u,v,w;
};
Edge edge[+]; struct Query
{
int x,id;
};
Query qry[]; int w[+];
long long print[];
int fa[+]; void init(int n)
{
for(int i=;i<=n;i++){
fa[i]=i;
w[i]=;
}
} bool cmp1(Edge z,Edge y)
{
return z.w<y.w;
}
bool cmp2(Query z,Query y)
{
return z.x<y.x;
} int find_fa(int a)
{
if(fa[a]==a)
return a;
else{
fa[a]=find_fa(fa[a]);
w[fa[a]]+=w[a];
w[a]=;
return fa[a];
}
} void solve(int ,int ,int ); int main()
{
int test;
scanf("%d",&test);
while(test--){
int n,m,Q;
scanf("%d %d %d",&n,&m,&Q);
init(n);
for(int i=;i<=m;i++){
scanf("%d %d %d",&edge[i].u,&edge[i].v,&edge[i].w);
}
for(int i=;i<=Q;i++){
scanf("%d",&qry[i].x);
qry[i].id=i;
}
solve(n,m,Q);
}
return ;
} void solve(int n,int m,int Q)
{
sort(edge+,edge+m+,cmp1);
sort(qry+,qry+Q+,cmp2); int cnt=;
long long sum=;
for(int i=;i<=Q;i++){
while(cnt<=m&&edge[cnt].w<=qry[i].x){
int fau=find_fa(edge[cnt].u);
int fav=find_fa(edge[cnt].v);
if(fau!=fav){
sum+=w[fau]*w[fav]*;
fa[fau]=fav;
w[fav]+=w[fau];
w[fau]=;
}
cnt++;
}
print[qry[i].id]=sum;
} for(int i=;i<=Q;i++){
printf("%I64d\n",print[i]);
} return ;
}
hdu 5441 travel 离线+带权并查集的更多相关文章
- hdu 5441 Travel 离线带权并查集
Travel Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5441 De ...
- Hdu 2047 Zjnu Stadium(带权并查集)
Zjnu Stadium Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- How Many Answers Are Wrong (HDU - 3038)(带权并查集)
题目链接 并查集是用来对集合合并查询的一种数据结构,或者判断是不是一个集合,本题是给你一系列区间和,判断给出的区间中有几个是不合法的. 思考: 1.如何建立区间之间的联系 2.如何发现悖论 首先是如何 ...
- hdu 2818 Building Block (带权并查集,很优美的题目)
Problem Description John are playing with blocks. There are N blocks ( <= N <= ) numbered ...N ...
- hdu 3635 Dragon Balls (带权并查集)
Dragon Balls Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- How Many Answers Are Wrong HDU - 3038 (经典带权并查集)
题目大意:有一个区间,长度为n,然后跟着m个子区间,每个字区间的格式为x,y,z表示[x,y]的和为z.如果当前区间和与前面的区间和发生冲突,当前区间和会被判错,问:有多少个区间和会被判错. 题解:x ...
- hdu 3047–Zjnu Stadium(带权并查集)
题目大意: 有n个人坐在zjnu体育馆里面,然后给出m个他们之间的距离, A B X, 代表B的座位比A多X. 然后求出这m个关系之间有多少个错误,所谓错误就是当前这个关系与之前的有冲突. 分析: 首 ...
- HDU 3047 Zjnu Stadium(带权并查集)
题意:有一个环形体育场,有n个人坐,给出m个位置关系,A B x表示B所在的列在A的顺时针方向的第x个,在哪一行无所谓,因为假设行有无穷个. 给出的座位安排中可能有与前面矛盾的,求有矛盾冲突的个数. ...
- POJ 1984 Navigation Nightmare 【经典带权并查集】
任意门:http://poj.org/problem?id=1984 Navigation Nightmare Time Limit: 2000MS Memory Limit: 30000K To ...
随机推荐
- yum命令
1)查询 yum list #查询所有可用软件包列表 yum search 关键字 #搜索服务器上和关键字相关的包 #对比rpm的查询:rpm -qa | grep xxx 2)安装 yum ...
- Python实现__metaclass__实现方法运行时间统计
几天前写的,参考了园友的一篇文章,链接找不到了.先感谢,找到了链接再补上.
- html5图片懒加载
http://www.178.com/s/js/jquery.lazyload.min.js
- 使用 NGUI 实现头顶文字及血条
以下是 NGUI HUD Text 实现的: 基本原理: 1. 在角色头顶绑一个点 Pivot,用于对齐 2. 因为界面总是覆盖在人物头顶信息的上面,所以将 UIRoot 分为2个 Panel:1) ...
- EJB 的理解
引用源:http://blog.csdn.NET/cymm_liu/article/details/7760989 1.EJB 概念的剖析 我们先看一下,EJB 的官方解释: 商务软件的核心部分是它的 ...
- 无法启动:此实现不是Windows平台FIPS验证的加密算法的一部分
个别同学可能会在启动订票助手.NET的时候发现这个提示: 出现这个问题的原因是订票助手.NET使用了MD5算法,而系统的组策略安全设置导致无法使用此算法.要修正此问题,请按照如下操作(两种方法任选其一 ...
- 【转】 CSS3阴影 box-shadow的使用和技巧总结
text-shadow是给文本添加阴影效果,box-shadow是给元素块添加周边阴影效果.随着html5和CSS3的普及,这一特殊效果使用越来越普遍. 基本语法是{box-shadow:[inset ...
- string 字符串的分隔处理与list的相互转换
在指定 String 数组的每个元素之间串联指定的分隔符 String,从而产生单个串联的字符串.(来源于MSDN) 有两个重载函数:[C#]public static string Join( ...
- html初学(一)
学习了一些html的基本用法,代码和效果如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8 ...
- jmeter制造安全证书
对安全性有要求的网站一般使用https来加密传输的请求和响应.https离不开证书,关于证书不在多说.Apache的HttpClient支持https, 下面是官方的样例程序,程序中使用了my.sto ...