题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5441

题意:是有n个城市,m条边包含u v w;代表u到v的时间是w;

给q的时间x,求在x时间内Jack可以到达多少对城市;其中ab和ba是不同的;

1
5 5 3
2 3 6334
1 5 15724
3 5 5705
4 3 12382
1 3 21726
6000///////可以到达35和53;
10000//////2 5 3是可以相互到达的所以有6种;
13000///////2 3 5 4是想通的有12种;

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
using namespace std;
#define N 100100 int f[], r[], Ans[]; struct node
{
int u, v, w, index;
}a[N], b[]; int cmp(node p, node q)
{
return p.w < q.w;
} int Find(int x)
{
if(x!=f[x])
f[x] = Find(f[x]);
return f[x];
} int main()
{
int T, n, m, q; scanf("%d", &T);
while(T--)
{
scanf("%d%d%d", &n, &m, &q); for(int i=; i<=n;i++)
{
f[i] = i;
r[i] = ;
} for(int i=; i<m; i++)
scanf("%d%d%d", &a[i].u, &a[i].v, &a[i].w); for(int i=; i<q; i++)
{
scanf("%d", &b[i].w);
b[i].index = i;
} sort(a, a+m, cmp);
sort(b, b+q, cmp); int j=;
int ans = ;
for(int i=; i<q; i++)
{
while(j<m && b[i].w>=a[j].w)///满足条件的
{
int pa = Find(a[j].u);
int pb = Find(a[j].v);
if(pa != pb)
{
f[pa] = pb;
ans += r[pa]*r[pb];///加上两个集合的数任意组合;
r[pb]+=r[pa];///r[i]代表i的根节点所包含的元素个数;
}
j++;
}
Ans[b[i].index] = ans*;///保存结果,ab和ba是不一样的;
}
for(int i=; i<q; i++)
printf("%d\n", Ans[i]);
}
return ;
}

最新文章

  1. insmod模块的几种常见错误
  2. MySQL 忘记root密码解决办法
  3. 关于Java 里的String和对象
  4. dwg格式用什么打开
  5. 免费而优秀的图表JS插件
  6. FTP上传与下载
  7. 常用awk命令(转)
  8. 关于TCP/UDP缓存
  9. 功能间(两个form)数据交互的编程方法
  10. MySQL远程登陆错误
  11. Oracle10g物理DG详细配置方法及步骤
  12. 香港,将军澳,TKO,服务器,运维,机房,云清洗
  13. 【TCP ZeroWindow】与【TCP window Full】
  14. day_6.22python多线程
  15. 07:vue定义路由
  16. python 动态属性
  17. 前序+中序-&gt;后序 中序+后序-&gt;前序
  18. SpringBoot 解决ModelAndView强转Json问题
  19. BZOJ2527 &amp; 洛谷3527:[Poi2011]Meteors——题解
  20. xxxservlet继承HttpServlet类

热门文章

  1. AndroidStudio添加Android源码
  2. 转:PHP获取浏览器类型及版本号
  3. 面向对象设计原则二:开闭原则(OCP)
  4. [android] AndroidManifest.xml - 【 manifest -&gt; permission】
  5. C++ 运算符重载一(二元运算符重载)
  6. 关于Unity的游戏的运行模式
  7. 【BZOJ】1047: [HAOI2007]理想的正方形(单调队列/~二维rmq+树状数组套树状数组)
  8. db2 import和load
  9. 如何用ChemDraw绘制化学课件
  10. 配置gosublime