#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; int m, n, q;
const int maxn = ;
int fa[maxn];
int Rank[maxn]; void init(){
for (int i = ; i <= n; i++){
Rank[i] = ;
fa[i] = i;
}
} struct node
{
int u; //路的前端
int v; //路的后端
int l; //成本
}edge[maxn]; struct Q
{
int l, id, ans;
}que[maxn]; bool cmp(node a, node b){
return a.l < b.l;
} bool cmp1(Q a, Q b){
return a.l < b.l; //从小到大排序
} bool cmp2(Q a, Q b){
return a.id < b.id;
} int find(int x){
if (x == fa[x])
return x;
return fa[x] = find(fa[x]);
} int Set_Union(int x, int y){
int fx = find(x);
int fy = find(y);
if (fx == fy)
return ;
fa[fy] = fx;
int t = Rank[fx];
Rank[fx] = Rank[fx] + Rank[fy];
return t*Rank[fy];
} int main(){
while (~scanf("%d%d%d", & n, &m, &q)){
init();
que[].ans = ;
for (int i = ; i <= m; i++){
scanf("%d%d%d", &edge[i].v, &edge[i].u, &edge[i].l);
}
for (int i = ; i <= q; i++){
scanf("%d", &que[i].l);
que[i].id = i;
que[i].ans = ;
}
sort(edge + ,edge + + m, cmp);
sort(que + , que + + q, cmp1);
int cur = ;
for (int i = ; i <= q; i++){
que[i].ans = que[i - ].ans;
while (edge[cur].l <= que[i].l&&cur <= m){
que[i].ans += Set_Union(edge[cur].u, edge[cur].v);
cur++;
}
}
sort(que + , que + + q, cmp2);
for (int i = ; i <= q; i++){
printf("%d\n", que[i].ans);
} }
//system("pause");
return ;
}

hdu3938 Portal 离线+并查集的更多相关文章

  1. [bzoj1015](JSOI2008)星球大战 starwar(离线+并查集)

    Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武 器统治者整个星系.某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球.这些星球通 ...

  2. ACM学习历程—Hihocoder 1291 Building in Sandbox(dfs && 离线 && 并查集)

    http://hihocoder.com/problemset/problem/1291 前几天比较忙,这次来补一下微软笔试的最后一题,这题是这次微软笔试的第四题,过的人比较少,我当时在调试B题,没时 ...

  3. HDU5441 Travel 离线并查集

    Travel Problem Description Jack likes to travel around the world, but he doesn’t like to wait. Now, ...

  4. [USACO18FEB] Snow Boots G (离线+并查集)

    题目大意:略 网上各种神仙做法,本蒟蒻只想了一个离线+并查集的做法 对所有靴子按最大能踩的深度从大到小排序,再把所有地砖按照积雪深度从大到小排序 一个小贪心思想,我们肯定是在 连续不能踩的地砖之前 的 ...

  5. hdu3938 Portal 离线的并查集

    离线算法是将全部输入都读入,计算出所有的答案以后再输出的方法.主要是为避免重复计算.类似于计算斐波那契数列的时候用打表的方法. 题目:给一个无向图,求有多少个点对,使得两点间的路径上的花费小于L,这里 ...

  6. hdu 3938 Portal(并查集+离线+kruskal)2011 Multi-University Training Contest 10

    搜了题解才把题搞明白.明白之后发现其实题意很清晰,解题思路也很清晰,只是题目表述的很不清晰…… 大意如下—— 给你一个无向图,图中任意两点的距离是两点间所有路径上的某一条边,这条边需要满足两个条件:1 ...

  7. 【杭电OJ3938】【离线+并查集】

    http://acm.hdu.edu.cn/showproblem.php?pid=3938 Portal Time Limit: 2000/1000 MS (Java/Others)    Memo ...

  8. BZOJ4551 Tjoi2016&Heoi2016树(离线+并查集)

    似乎是弱化的qtree3.树剖什么的非常无脑.考虑离线.并查集维护每个点的最近打标记祖先,倒序处理,删除标记时将其与父亲合并即可. #include<iostream> #include& ...

  9. Artwork Gym - 101550A 离线并查集

    题目:题目链接 思路:每个空白区域当作一个并查集,因为正着使用并查集分割的话dfs会爆栈,判断过于复杂也会导致超时,我们采用离线反向操作,先全部涂好,然后把黑格子逐步涂白,我们把每个空白区域当作一个并 ...

随机推荐

  1. ok6410[000] ubuntu1604_64bit下安装wps

    虽说Ubuntu下有自动的office工具,不过使用上体验很差.而国内最好的office软件也就是金山的wps. ------------------------------------------- ...

  2. iOS 开发之 - 关闭键盘 退出键盘 的5种方式

    iOS 开发之 - 关闭键盘 退出键盘 的5种方式   1.点击编辑区以外的地方(UIView) 2.点击编辑区域以外的地方(UIControl) 3.使用制作收起键盘的按钮 4.使用判断输入字元 5 ...

  3. php利用cookie防止重复提交解决办法

    原理:如果数据通过了上边的两次验证,说明数据是合法有效的数据,这时候我们把提交的数据串接为一个字符串,并用MD5加密后得到一个MD5的值. 接着我们把这个值通过Cookie放进客户端,当用户下一次提交 ...

  4. c# 连接各种数据库 Access、Server等

    1.C#连接连接Access程序代码: using System.Data;using System.Data.OleDb;..string strConnection="Provider= ...

  5. Java中的常用异常处理方法

    觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 OutputStreamWriter out = ... 2 ...

  6. MapReduce算法形式五:TOP—N

    案例五:TOP—N 这个问题比较常见,一般都用于求前几个或者后几个的问题,shuffle有一个默认的排序是正序的,但如果需要逆序的并且暂时还不知道如何重写shuffle的排序规则的时候就用以下方法就行 ...

  7. HDU 2746 Cyclic Nacklace

    Cyclic Nacklace Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  8. POJ3376 Finding Palindromes —— 扩展KMP + Trie树

    题目链接:https://vjudge.net/problem/POJ-3376 Finding Palindromes Time Limit: 10000MS   Memory Limit: 262 ...

  9. open调用过程

    1. 首先传到vfs的do_sys_open,在open.c中. long do_sys_open(int dfd, const char __user *filename, int flags, u ...

  10. [原创]java获取word文档的条目化内容

    在开发Web办公系统或文档系统时,PageOffice组件是众所周知的在线处理微软word/ppt/excel文档的强大工具,它对WORD文档的各种处理在API层面进行了封装,屏蔽了Office VB ...