Travel 并查集
题意:给一个图,若干询问,每次询问只经过边权<=w的边,x能到达的点数
并查集啊,对询问和边排序,直接合并,维护size,查询
- #include<cstdio>
- #include<cstring>
- #include<iostream>
- #include<algorithm>
- #include<cmath>
- #define N 105000
- using namespace std;
- int fa[N],size[N],n,m,k;
- struct data{
- int u,v,w;
- }d[4*N];
- bool cmpd(data a,data b){return a.w<b.w;}
- struct query{
- int u,w,ans,id;
- }q[N];
- bool cmpq(query a,query b){return a.w<b.w;}
- bool back(query a,query b){return a.id<b.id;}
- int find(int x){
- if(fa[x]==x)return x;
- fa[x]=find(fa[x]);
- return fa[x];
- }
- void hb(int x,int y){
- x=find(x);y=find(y);
- if(x==y)return;
- fa[y]=x;size[x]+=size[y];
- }
- int main(){
- scanf("%d%d%d",&n,&m,&k);
- for(int i=1;i<=n;i++){fa[i]=i;size[i]=1;}
- for(int i=1;i<=m;i++)
- scanf("%d%d%d",&d[i].u,&d[i].v,&d[i].w);
- sort(d+1,d+m+1,cmpd);
- for(int i=1;i<=k;i++){
- scanf("%d%d",&q[i].u,&q[i].w);
- q[i].id=i;
- }
- sort(q+1,q+k+1,cmpq); q[k+1].w=q[k].w+1;
- int now=q[1].w,ee=1,pos=1;
- while(now<=q[k].w){
- for(;ee<=m&&d[ee].w<=now;ee++)
- hb(d[ee].u,d[ee].v);
- for(;q[pos].w==now;pos++)
- q[pos].ans=size[find(q[pos].u)];
- now=q[pos].w;
- }
- sort(q+1,q+k+1,back);
- for(int i=1;i<=k;i++)
- printf("%d\n",q[i].ans);
- return 0;
- }
Travel 并查集的更多相关文章
- bzoj 1576: [Usaco2009 Jan]安全路经Travel——并查集+dijkstra
Description Input * 第一行: 两个空格分开的数, N和M * 第2..M+1行: 三个空格分开的数a_i, b_i,和t_i Output * 第1..N-1行: 第i行包含一个数 ...
- hdu 5441 Travel(并查集)
Problem Description Jack likes to travel around the world, but he doesn’t like to wait. Now, he is t ...
- HDU5441 Travel 并查集
http://acm.hdu.edu.cn/showproblem.php?pid=5441 无向图,n个点,m条带权边,q次询问,给出数值d,点a可以到点b当且仅当存在一条路线其中最大的权值不超过d ...
- 【BZOJ-1576】安全路径Travel Dijkstra + 并查集
1576: [Usaco2009 Jan]安全路经Travel Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 1044 Solved: 363[Sub ...
- hdu 5441 travel 离线+带权并查集
Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Problem Descript ...
- hdu 5441 Travel 离线带权并查集
Travel Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5441 De ...
- Travel(HDU 5441 2015长春区域赛 带权并查集)
Travel Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Su ...
- 【BZOJ1576】[Usaco2009 Jan]安全路经Travel 最短路+并查集
[BZOJ1576][Usaco2009 Jan]安全路经Travel Description Input * 第一行: 两个空格分开的数, N和M * 第2..M+1行: 三个空格分开的数a_i, ...
- HDU 5441——Travel——————【并查集+二分查界限】
Travel Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Su ...
随机推荐
- 你不知道你不懂javascript
过去几年我注意到技术圈一个很奇怪的现象,有太多程序员将那些他们只是有过非常浅显的了解, 但其实根本就不懂的技术写到他们的简历中,这个现象几乎每种语言都有,但这其中最严重的就要数javascript了. ...
- CXF 5参考资料
下载 描述 名字 大小 下载方法 本教程示例应用程序的源代码 CXF_Spring_Survey_Src.war 10 KB HTTP 关于下载方法的信息 学习 Apache CXF 的官方站点:提供 ...
- Java反射之调用内部类
1. 反射调用默认访问权限的内部类 package com.blueStarWei.invoke; import java.lang.reflect.Method; import com.blueSt ...
- 【Web页面测试】测试点和测试用例
1. 需求符合度测试 1. 各级菜单名称显示是否按照需求说明书规定的设计,并且没有遗漏和多余 2. 各级菜单所完成的功能是否按照需求说明书规定的设计,并且没有遗漏和多余 3. 各级菜单的操作顺序和操作 ...
- 学会分析YUV数据
做视频采集与处理,自然少不了要学会分析YUV数据.因为从采集的角度来说,一般的视频采集芯片输出的码流一般都是YUV数据流的形式,而从视频处理(例如H.264.MPEG视频编解码)的角度来说,也是在原始 ...
- django2.0升级日记
1.大量的外键定义需要加on_delete参数 2.'WSGIRequest' object has no attribute 'session',这个问题是因为settings中middleware ...
- Java main方法全解
1.main方法的重载 package cn.nxl2018; public class Main_test { public static void main(String args[]) { Sy ...
- The Beam Model:Stream & Tables翻译(上)
本文由 网易云发布. 作者:周思华 本篇文章仅限内部分享,如需转载,请联系网易获取授权. 本文尝试描述Beam模型和Stream & Table理论间的关系(前者描述于数据流模型论文.the ...
- Flask表单(Flask-WTF)
1.request.from获取POST表单数据 # hello.py #coding:utf-8 from flask import Flask,request,render_template ap ...
- Python3 urllib.request库的基本使用
Python3 urllib.request库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地. 在Python中有很多库可以用来抓取网页,我们先学习urlli ...