传送门

解锁成就:ynoi的题目都做到过原题
因为\(n\)很小,我们可以用\(sss[u][i]\)表示到点\(u\)的距离不超过\(i\)的点的集合,这个可以用bitset存,然后先一遍bfs,再做一个前缀和就可以处理好了
询问的话,把所有的\(sss\)并起来,然后求一下里面\(1\)的个数就好了
顺便一提,这题存图得用vector不能用前向星,据说是因为连续访问内存会比较快(我这辈子第一次见到有人卡前向星的orz)

//minamoto
#include<bits/stdc++.h>
#define R register
#define inf 0x3f3f3f3f
#define fp(i,a,b) for(R int i=a,I=b+1;i<I;++i)
#define fd(i,a,b) for(R int i=a,I=b-1;i>I;--i)
using namespace std;
char buf[1<<21],*p1=buf,*p2=buf;
inline char getc(){return p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++;}
int read(){R int res,f=1;R char ch;while((ch=getc())>'9'||ch<'0')(ch=='-')&&(f=-1);for(res=ch-'0';(ch=getc())>='0'&&ch<='9';res=res*10+ch-'0');return res*f;
}
char sr[1<<21],z[20];int C=-1,Z=0;
inline void Ot(){fwrite(sr,1,C+1,stdout),C=-1;}
void print(R int x){if(C>1<<20)Ot();if(x<0)sr[++C]='-',x=-x;while(z[++Z]=x%10+48,x/=10);while(sr[++C]=z[Z],--Z);sr[++C]='\n';
}
const int N=1005;
int dis[N][N],q[N],n,m,h,t,u,v,Q,k;bitset<N>sss[N][N],ans;vector<int>mp[N];
void bfs(int S,int *dis){fp(i,1,n)dis[i]=inf;q[h=t=1]=S,dis[S]=0;while(h<=t){u=q[h++];fp(i,0,mp[u].size()-1){v=mp[u][i];if(dis[v]==inf)dis[v]=dis[u]+1,q[++t]=v;}}fp(i,1,n)if(dis[i]!=inf)sss[S][dis[i]].set(i);fp(i,1,n)sss[S][i]|=sss[S][i-1];
}
int main(){
//  freopen("testdata.in","r",stdin);n=read(),m=read(),Q=read();fp(i,1,m)u=read(),v=read(),mp[u].push_back(v),mp[v].push_back(u);fp(i,1,n)bfs(i,dis[i]);while(Q--){k=read(),ans.reset();while(k--){u=read(),v=read();if(v>n)v=n;ans|=sss[u][v];}print(ans.count());}return Ot(),0;
}

转载于:https://www.cnblogs.com/bztMinamoto/p/10105241.html

P5068 [Ynoi2015]我回来了相关推荐

  1. [洛谷P5068][Ynoi2015]我回来了

    题目大意:给你一张$n(n\leqslant10^3)$个点$m(m\leqslant10^5)$个点的无向无权图,多组询问,每次询问给你一些二元组$(x_i,y_i)$,求有多少个$u$于至少一个二 ...

  2. 2018十二月刷题列表

    Preface \(2018\)年的尾巴,不禁感慨自己这一年的蜕变只能用蜕变来形容了. 而且老叶说我们今年没的参加清北冬令营可以参加CCF在广州二中举办的冬令营,只要联赛\(390+\)就应该可以报. ...

  3. [总结]2019年9月 OI学习/刷题记录

    从现在开始记录一下每天的学习情况.主力LOJ? 2019/9/5 LibreOJ #2543. 「JXOI2018」排序问题 答案显然是\(\frac{(n+m)!}{Cnt_1!Cnt_2!\cdo ...

  4. Android Studio 工具栏消失了 设置回来

    如果开发工具的工具栏不见了如下 底部的也不见了 这个时候要设置回来很简答的 版本变动补充:目前as 4.0.1版本在 view ---> Appearance  里面 下面的是之前很早的版本. ...

  5. 私钥设置_私钥忘了怎么办,还能找回来吗?能

    Part 1 在币圈,最遥远的距离不是比特币就在我面前我却没办法买下,而是我手里拿着数字钱包却忘了私钥...... 数字钱包不比银行卡,银行卡密码丢了,我们可以带上身份证去找回,但数字钱包的私钥丢了, ...

  6. “去了太空就别回来了!”贝索斯还没“上天”,就遭美国 5 万多人请愿:不准重返地球...

    整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 美国富翁们有钱了都干什么?比尔·盖茨买跑车.甲骨文老板拉里·埃里森买游艇,还有呢?那必然是亚马逊创始人杰夫·贝索斯和特斯拉 CEO 埃隆 ...

  7. 一周焦点 | 李彦宏:如果谷歌回来,有信心再赢一次;GitHub深度学习开源项目Top200...

    ▌业界焦点 瞄准超算皇冠:神威E级超算原型机正式启用 运算速度达每秒百亿亿次的 E 级计算机,被称作"超级计算机界的下一顶皇冠".8 月 5 日,国产超算研制向着这一皇冠又迈进了一 ...

  8. 得了诺奖的彩色照相术失传100多年,现在终于被找回来了

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 一张彩 ...

  9. 红警1开源放出源码,4K高清重制版登顶Steam畅销榜!网友:青春回来了

    大数据文摘出品 作者:笪洁琼 "Sir,yes sir." "You've got no place to hide!" "You'll be a s ...

最新文章

  1. 一万年太久,只争朝夕
  2. 《人人都能看懂经济学》读书笔记
  3. muduo之Connector
  4. 抛弃市电!微软建成世界首座天然气数据机房:能耗大减
  5. step2 . day1 Linux和C语言的高级应用
  6. Eclipse程序员要掌握的常用快捷键
  7. java getrealpath_JavaEE路径陷阱之getRealPath
  8. 【离散数学中的数据结构与算法】五 排列与组合一
  9. 3D Slicer源代码编译与调试
  10. 再获信通院权威认证,优等生华为云GaussDB数据库凭什么?
  11. 在使用SVN,下载文件到本地时,一定要把全目录下载下来!
  12. maxscale mysql5.7_Maxscale实现Mysql读写分离
  13. IC卡读写器c#源代码
  14. 自己的vscode-settings.json配置
  15. 实名域名是什么意思?域名必须要进行实名认证吗?
  16. 【DeepExploit】基于强化学习的自动渗透工具
  17. 计算机组成与设计ch3,计算机体系结构总结
  18. 任务调度 cron使用
  19. Linux下使用云笔记及OneNote
  20. Chrom浏览器JSON扩展程序

热门文章

  1. 10067mysql_MYSQL数据库mysql Non-Transactional Database Only(只支持MyISAM)
  2. tensorflow 模型可视化_基于tensorflow-2.x的yolov3实现
  3. C++期末实践程序设计与数组作为参数的注意事项
  4. MySQL 基础 ———— 分组查询
  5. 数据库的哪些事儿~~
  6. bootstrap 输入错误提示_win7系统提示explorer.exe应用程序错误怎么办
  7. 有趣的编程代码_iPad amp; Mac 编程游戏推荐
  8. java参数校验:ValidatorUtils校验框架工具类的使用
  9. 冒泡排序--Java
  10. python项目打包部署到ios_Python iOS 自动打包脚本(包含上传到fir)