Luogu P5068 [Ynoi2015]我回来了
题目
Ynoi难得的水题。
首先我们可以\(O(n^2)\)地求出任意两点之间的距离。
然后我们可以\(O(n^3)\)地求出对于任意一个点\(u\),跟它距离\(\le d\)的点的集合。
然后对于每个询问,我们就可以直接把所有到\(x_i\)距离小于\(y_i\)的集合或起来,复杂度为\(O(n\sum\limits a)\)。
用bitset优化可以保证空间和时间复杂度的正确性。
#include<bits/stdc++.h>
#define pb push_back
using namespace std;
namespace IO
{
char ibuf[(1<<21)+1],obuf[(1<<21)+1],st[15],*iS,*iT,*oS=obuf,*oT=obuf+(1<<21);
char Get(){return (iS==iT? (iT=(iS=ibuf)+fread(ibuf,1,(1<<21)+1,stdin),(iS==iT? EOF:*iS++)):*iS++);}
void Flush(){fwrite(obuf,1,oS-obuf,stdout),oS=obuf;}
void Put(char x){*oS++=x;if(oS==oT)Flush();}
int read(){int x=0,c=Get();while(!isdigit(c))c=Get();while(isdigit(c))x=x*10+c-48,c=Get();return x;}
void write(int x){int top=0;if(!x)Put('0');while(x)st[++top]=(x%10)+48,x/=10;while(top)Put(st[top--]);Put('\n');}
}
using namespace IO;
const int N=1007,INF=0x3f3f3f3f;
int n,m,Q,dis[N][N];vector<int>E[N];queue<int>q;bitset<N>s[N][N],t;
void add(int u,int v){E[u].pb(v),E[v].pb(u);}
void bfs(int x)
{
dis[x][x]=0,q.push(x);
for(int u;!q.empty();)
{
u=q.front(),q.pop();
for(int v:E[u]) if(dis[x][v]==INF) dis[x][v]=dis[x][u]+1,q.push(v);
}
}
void init()
{
for(int u,v=1;u<=n;++u) for(v=1;v<=n;++v) if(dis[u][v]^INF) s[u][dis[u][v]][v]=1;
for(int u=1,d;u<=n;++u) for(d=1;d<=n;++d) s[u][d]|=s[u][d-1];
}
void work()
{
int a=read();t.reset();
for(int x,d;a;--a) x=read(),d=read(),t|=s[x][d];
write(t.count());
}
int main()
{
memset(dis,0x3f,sizeof dis),n=read(),m=read(),Q=read();
for(int i=1;i<=m;++i) add(read(),read());
for(int i=1;i<=n;++i) bfs(i);
init();
while(Q--) work();
return Flush(),0;
}
Luogu P5068 [Ynoi2015]我回来了的更多相关文章
- 【题解】Luogu P5068 [Ynoi2015]我回来了
众所周知lxl是个毒瘤,Ynoi道道都是神仙题,这道题极其良心,题面好评 原题传送门 我们先珂以在\(O(n^2)\)的时间内bfs求出任意两点距离 我们考虑如何计算从一个点到所有点的最短路长度小于等 ...
- [洛谷P5068][Ynoi2015]我回来了
题目大意:给你一张$n(n\leqslant10^3)$个点$m(m\leqslant10^5)$个点的无向无权图,多组询问,每次询问给你一些二元组$(x_i,y_i)$,求有多少个$u$于至少一个二 ...
- P5068 [Ynoi2015]我回来了
传送门 解锁成就:ynoi的题目都做到过原题 因为\(n\)很小,我们可以用\(sss[u][i]\)表示到点\(u\)的距离不超过\(i\)的点的集合,这个可以用bitset存,然后先一遍bfs,再 ...
- luoguP5068 [Ynoi2015]我回来了
https://www.luogu.org/problemnew/show/P5068 ynoi 中的良心题啊 考虑用 bitset 来维护里一个点距离小于 $ y_i $ 的点,那么答案就是一堆 b ...
- [Ynoi2015]我回来了
题目大意: 给定一张无向无权图,每次给定若干个二元组\((x_i,y_i)\),定义点\(u\)满足条件,当且仅当存在\(i\),并满足\(dist(u,x_i)\leqslant y_i\)(\(d ...
- 【题解】Luogu P5071 [Ynoi2015]此时此刻的光辉
众所周知lxl是个毒瘤,Ynoi道道都是神仙题,题面好评 原题传送门 一看这题没有修改操作就知道这是莫队题(我也只会莫队) 我博客里对莫队的简单介绍 一个数N可以分解成\(p_1^{c_1}p_2^{ ...
- 【题解】Luogu P5072 [Ynoi2015]盼君勿忘
众所周知lxl是个毒瘤,Ynoi道道都是神仙题,题面好评 原题传送门 一看这题没有修改操作就知道这是莫队题 我博客里对莫队的简单介绍 既然是莫队,我们就要考虑每多一个数或少一个数对答案的贡献是什么 假 ...
- Luogu P5072 [Ynoi2015]盼君勿忘
题意 给定一个长度为 \(n\) 的序列 \(a\) 和 \(m\) 次询问,第 \(i\) 次询问需要求出 \([l_i,r_i]\) 内所有子序列去重之后的和,对 \(p_i\) 取模. \(\t ...
- 【题解】Luogu P5313 僕たちはひとつの光([Ynoi2012]D2T2)
原题传送门 lovelive好评 比赛时只拿到了60pts,还是自己太菜了 这题的思想实际有点像Luogu P3674 小清新人渣的本愿与Luogu P5071 [Ynoi2015]此时此刻的光辉 这 ...
随机推荐
- 美团小程序框架mpvue入门教程
mpvue是一个使用 Vue.js 开发小程序的前端框架.框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从 ...
- 关于Additive Ensembles of Regression Trees模型的快速打分预测
一.论文<QuickScorer:a Fast Algorithm to Rank Documents with Additive Ensembles of Regression Trees&g ...
- 微信支付接口,curl错误代码58
微信支付接口,curl错误代码58 之前的微信付款到用户零钱都是好好的,今天运营来找我, 我想了了下,就是进行了网站搬家 看了下 微信支付相关的证书配置文件 知道了,在这个 要改下证书的路径 WxPa ...
- Struts2中的ModelDriven机制及其运用、refreshModelBeforeResult属性解决的问题
1.为什么需要ModelDriven? 所谓ModelDriven,意思是直接把实体类当成页面数据的收集对象.比如,有实体类User如下: package cn.com.leadfar.struts2 ...
- C++入门经典-例6.23-字符串数组赋值与string
1:代码如下: // 6.23.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #inc ...
- eclipse外部导入Javaweb项目时,项目上出现红叉的一个可能的解决办法
解决办法:http://blog.csdn.net/qq_32671287/article/details/52467885 进入项目包下的.settings目录,找到org.eclipse.wst. ...
- spark streaming 与 storm的对比
feature strom (trident) spark streaming 说明 并行框架 基于DAG的任务并行计算引擎(task parallel continuous computati ...
- jmeter源代码开发环境构建
1.下载jmeter源码:http://jmeter.apache.org/download_jmeter.cgi 2.新建-->java Project-->Next-->src- ...
- Centos7 yum install chrome
一.配置 yun 源 vim /etc/yum.repos.d/google-chrome.repo [google-chrome] name=google-chrome baseurl=http:/ ...
- 最详细React Native环境配置及项目初始化(2018-10-14)
注意配环境一定要全程使用稳定VPN工具,否则会浪费大量时间!!!相信我 一.截止到项目初始化之前也就是执行这条命令之前都按官网的方法就可以 https://reactnative.cn/docs/ge ...