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 ...
随机推荐
- VS2015+Python3.5的配置
之前就学过一点Python,不用就忘记了,现在旧事从提~~ 学Python肯定得有一个良好的调试环境,比较熟悉VS,所以就配置了这个语言和工具! 安装过程出现的问题及解决方案 问题一: VS2015更 ...
- django返回状态码的页面,指定p地址访问
只有DEBUG = False 才能展示自定义的错误页面,否则djnago会报错,给出提示信息. ps:django DEBUG=FALSE, 会导致不能加载静态文件 ALLOWED_HOSTS ...
- IPv4选项
IPv4数据报的首部由固定首部(20字节)和可变部分组成(40字节).选项可用于网络的测试和排错. 1:选项的组成(TLV:type-length-value) 1.1:一个字节的类型字段. 1.1. ...
- centos已经安装了libestr但在安装libee时却提示未安装
在loganalyzer+rsyslog日志分析错误总结;
- 温故而知新复习下PHP面向对象
面向对象在PHP中是以类的形势展示的 PHP中的类是单继承的,用关键字extends来实现继承父类, 关键字public protected private 第一个是公开的 谁都可以访问,第二个只能本 ...
- windows10系统telnet登陆
参考网站:https://jingyan.baidu.com/article/acf728fd498e9ff8e510a322.html windows10系统以及没有telnet服务器端了. 需要单 ...
- requests bs4 爬取 资讯 图片
#!/usr/bin/env python # Version = 3.5.2 # __auth__ = '无名小妖' import requests from bs4 import Beautifu ...
- Unable to open file '.RES'
Unable to open file '.RES' 另存工程,带来的隐患,工程图标也改不了. 搜索发现源码里某个man.cpp里带了prgram resource aaa.res,换成新工程文件名 ...
- PHP判断客户端是PCweb端还是移动手机端方法
/** * * 根据php的$_SERVER['HTTP_USER_AGENT'] 中各种浏览器访问时所包含各个浏览器特定的字符串来判断是属于PC还是移动端 * @author discuz3x * ...
- MM-库存表
常用的库存价值表有: 典型T-code实际上是从不同table读数据: MMBE: MARD-LABST(Valuated stock withunrestricted use) MB52: MAR ...