nzhtl1477-ただいま帰りました ( bfs )
nzhtl1477-ただいま帰りました
题目描述
珂学题意:
你是威廉!你要做黄油蛋糕给珂朵莉吃~!
68号岛有n个商店,有的商店直接有小路连接,小路的长度都为1
格里克告诉了你哪些地方可能有做黄油蛋糕的原料
但是那个人是个坑货,所以
他会告诉你一些商店,然后告诉你距离这些商店距离<= k的商店中都是可能有原料的
然后你要把这些可能的商店每个都去一遍
你想知道你要去多少个商店
由于你是勇者,所以有m次询问
简洁题意:
给你一个图,每次查询的时候给一堆特殊点以及一个数k,求图中有多少点距离至少一个特殊点距离不超过k
边是无向的
输入输出格式
输入格式:
第一行三个数表示n,m,q
之后m行每行两个数x,y表示这两个点之间连有一条边~
之后q次询问,每个询问先给你一个数a和一个数k
之后一行a个数,表示a个特殊点
输出格式:
q行,每行一个数表示答案
输入输出样例
输入样例#1: 复制
5 6 6
2 3
1 3
2 5
1 3
3 2
2 5
1 1
3
1 1
1
1 4
1
1 2
5
1 4
1
1 4
5
输出样例#1: 复制
3
2
4
3
4
4
说明
对于30%的数据,n,m,q <= 100,每次查询只给一个点
对于另外30%的数据,k=1
对于100%的数据,n,m,q <= 5000 , a的和<= 500000
解析
在线操作;将每一个点加入队列中间,类似修改了的spfa算法;
同时将几个点加入,就可以将剩下的点按照离他们最近的中心点的距离计算出来;
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define rint register int inline int read(){
int x=,f=;char ch=getchar();
while(!isdigit(ch)) f=(ch==),ch=getchar();
while( isdigit(ch)) x=(x<<)+(x<<)+(ch^),ch=getchar();
return f?(~x+):x;
} #define man 5050 struct edge{ int next,to;}e[man<<];
int head[man<<],num=; inline void add(int from,int to){
e[++num]=(edge){head[from],to};
head[from]=num;
} int n,m,q;
int dis[man],vis[man],tot,k; int main(){
memset(dis,,sizeof(dis));
n=read();m=read();q=read();
for(rint i=,x,y;i<=m;i++){
x=read();y=read();
add(x,y);add(y,x);
}
for(rint i=,cnt;i<=q;i++){
queue<int>q;tot=;
memset(vis,,sizeof(vis));
memset(dis,,sizeof(dis));
cnt=read();k=read();
for(rint x,i=;i<=cnt;i++){
x=read();
q.push(x);dis[x]=;vis[x]=;
}
do{
int u=q.front();q.pop();
for(rint i=head[u];i;i=e[i].next){
int to=e[i].to;
dis[to]=min(dis[to],dis[u]+);
if(!vis[to]) vis[to]=,q.push(to);
}
}while(q.size());
for(rint i=;i<=n;i++)
if(dis[i]<=k) tot++;
printf("%d\n",tot);
}
return ;
}
nzhtl1477-ただいま帰りました ( bfs )的更多相关文章
- 图的遍历(搜索)算法(深度优先算法DFS和广度优先算法BFS)
图的遍历的定义: 从图的某个顶点出发访问遍图中所有顶点,且每个顶点仅被访问一次.(连通图与非连通图) 深度优先遍历(DFS): 1.访问指定的起始顶点: 2.若当前访问的顶点的邻接顶点有未被访问的,则 ...
- 【BZOJ-1656】The Grove 树木 BFS + 射线法
1656: [Usaco2006 Jan] The Grove 树木 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 186 Solved: 118[Su ...
- POJ 3278 Catch That Cow(bfs)
传送门 Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 80273 Accepted: 25 ...
- POJ 2251 Dungeon Master(3D迷宫 bfs)
传送门 Dungeon Master Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 28416 Accepted: 11 ...
- Sicily 1215: 脱离地牢(BFS)
这道题按照题意直接BFS即可,主要要注意题意中的相遇是指两种情况:一种是同时到达同一格子,另一种是在移动时相遇,如Paris在(1,2),而Helen在(1,2),若下一步Paris到达(1,1),而 ...
- Sicily 1048: Inverso(BFS)
题意是给出一个3*3的黑白网格,每点击其中一格就会使某些格子的颜色发生转变,求达到目标状态网格的操作.可用BFS搜索解答,用vector储存每次的操作 #include<bits/stdc++. ...
- Sicily 1444: Prime Path(BFS)
题意为给出两个四位素数A.B,每次只能对A的某一位数字进行修改,使它成为另一个四位的素数,问最少经过多少操作,能使A变到B.可以直接进行BFS搜索 #include<bits/stdc++.h& ...
- Sicily 1051: 魔板(BFS+排重)
相对1150题来说,这道题的N可能超过10,所以需要进行排重,即相同状态的魔板不要重复压倒队列里,这里我用map储存操作过的状态,也可以用康托编码来储存状态,这样时间缩短为0.03秒.关于康托展开可以 ...
- Sicily 1150: 简单魔板(BFS)
此题可以使用BFS进行解答,使用8位的十进制数来储存魔板的状态,用BFS进行搜索即可 #include <bits/stdc++.h> using namespace std; int o ...
- ACM/ICPC 之 靠墙走-DFS+BFS(POJ3083)
//POJ3083 //DFS求靠左墙(右墙)走的路径长+BFS求最短路 //Time:0Ms Memory:716K #include<iostream> #include<cst ...
随机推荐
- SQL中去掉字符串中最后一个字符(小技巧)
--长度减一就可以了 select left(字段名,len(字段名)-1) from 表名
- Jenkins Error cloning remote repo 'origin', slave node
使用jenkins pull git上的代码,在job中配置好源码管理后,构建时出现如题错误提示: 网上的资料几乎都是在说SSH的配置问题,因为博主项目建立在本地的git服务器上,所以在源码管理中选择 ...
- 显式锁(三)读写锁ReadWriteLock
前言: 上一篇文章,已经很详细地介绍了 显式锁Lock 以及 其常用的实现方式- - ReetrantLock(重入锁),本文将介绍另一种显式锁 - - 读写锁ReadWriteLock. ...
- 搭建 yum 仓库
翻译来自:https://wiki.centos.org/HowTos/CreateLocalRepos 本地仓库 http 仓库 测试 Steps: 1.把rpm包放在一个目录中.可以根据需要在该目 ...
- oracle10偶然性卡住登陆
连接数据库异常:登陆数据库后以"conn /as sysdba"方式登陆正常,数据库轻载,无压力:于是检查数据库的监听器,输入"lsntctl services" ...
- rsyslog编译依赖问题解决
bit-32-centos6.4测试loganalyzer+mysql+rsyslog web界面中央日志分析系统.1,报json-c错误wget http://cloud.github.com/ ...
- python入门-用户输入
1 input()函数来实现用户输入,程序在等待输入的时候会终止,获取用户的输入后继续 message = input("tell me something,and I will repre ...
- jpa-入门级测试
- RabbitMQ 端口号解析
转自:https://www.cnblogs.com/liuxingke/articles/9889517.html 端口号解析 12345 - 4369 (epmd), 25672 (Erlang ...
- linux 安装svn服务器
一.下载 http://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz http://subversion.tigris.org/dow ...