这题就是考察什么时候建边,貌似和搜索没有半毛钱关系 \(\operatorname{qwq}\)

首先没有传感器的房间是可以随便走来走去的,因为我们不用考虑顺序。于是就考虑先把这些点的相互的边给建起来。

接下来分析一波,对于第 \(i\) 个得到信息的房间,我们绝对不能在此之前经过第 \(i+1\) ~ \(k\) 的房间。所以,除了这些房间,我们将其余所有连边,再判断第 \(i-1\) 个房间能否到 \(i\) 房间即可。

因为只要判断房间之间的连通性,用冰茶机来维护是再好不过了。

\(\operatorname{Code:}\)

#include<bits/stdc++.h>
using namespace std;
inline int read(){
register int s=0,f=1;
register char ch=getchar();
while(!isdigit(ch)){if(ch=='-')f*=-1;ch=getchar();}
while(isdigit(ch))s=(s<<1)+(s<<3)+(ch^48),ch=getchar();
return s*f;
}
const int max_n=100000+5;
int a[max_n],par[max_n],vis[max_n];//par表示祖先,vis表示哪些点可以连
vector<int>Next[max_n];
int find(int x){
if(x==par[x])return x;//找到祖先
return par[x]=find(par[x]);//路径压缩
}
void merge(int x,int y){
x=find(x),y=find(y);//找祖先
if(x==y)return;//同一个祖先?大雾
par[y]=x;
}
void add(int x){//找所有和x联通并可以连边的点
for(int i=0;i<Next[x].size();i++){
if(vis[Next[x][i]]==0)merge(x,Next[x][i]);//可以连就连
}
}
int main(){
int n=read(),m=read(),k=read(),T=read();
while(m--){
int x=read(),y=read();
Next[x].push_back(y);
Next[y].push_back(x);
}
while(T--){
for(int i=1;i<=n;i++)par[i]=i;//冰茶机的初始化qwq
for(int i=1;i<=k;i++){
a[i]=read(),vis[a[i]]=1;//标记这个点不能连
}
for(int i=1;i<=n;i++){
if(vis[i]==0)add(i);
}
vis[a[1]]=0,add(a[1]);
for(int i=2;i<=k;i++){
vis[a[i]]=0,add(a[i]);//连上这个点
if(find(a[i])!=find(a[i-1])){puts("No");break;}//连不同就凉了
if(i==k)puts("Yes");
}
}
return 0;
}

于是 \(50\) 行就切掉了这道紫题真香

\(\operatorname{Update}\) \(\operatorname{On}\) \(\operatorname{2019.08.27}\)

题解 洛谷P2189 【小Z的传感器】的更多相关文章

  1. Bzoj2038/洛谷P1494 小Z的袜子(莫队)

    题面 Bzoj 洛谷 题解 考虑莫队算法,首先对询问进行分块(分块大小为\(sqrt(n)\)),对于同一个块内的询问,按照左端点为第一关键字,右端点为第二关键字排序.我们统计这个区间内相同的颜色有多 ...

  2. 洛谷 2186 小Z的栈函数

    https://www.luogu.org/problem/show?pid=2186 题目描述 小Z最近发现了一个神奇的机器,这个机器的所有操作都是通过维护一个栈来完成的,它支持如下11个操作: N ...

  3. 洛谷——P2117 小Z的矩阵

    P2117 小Z的矩阵 题目描述 小Z最近迷上了矩阵,他定义了一个对于一种特殊矩阵的特征函数G.对于N*N的矩阵A,A的所有元素均为0或1,则G(A)等于所有A[i][j]*A[j][i]的和对2取余 ...

  4. 洛谷P2188 小Z的 k 紧凑数

    P2188 小Z的 k 紧凑数 题目描述 小 Z 在草稿纸上列出了很多数,他觉得相邻两位数字差的绝对值不超过 k 的整数特别奇特,称其为 k 紧凑数. 现在小 Z 想知道 [l,r] 内有多少个 k ...

  5. 洛谷—— P2117 小Z的矩阵

    https://www.luogu.org/problemnew/show/2117 题目描述 小Z最近迷上了矩阵,他定义了一个对于一种特殊矩阵的特征函数G.对于N*N的矩阵A,A的所有元素均为0或1 ...

  6. 洛谷 P2117 小Z的矩阵

    P2117 小Z的矩阵 题目描述 小Z最近迷上了矩阵,他定义了一个对于一种特殊矩阵的特征函数G.对于N*N的矩阵A,A的所有元素均为0或1,则G(A)等于所有A[i][j]*A[j][i]的和对2取余 ...

  7. 洛谷 2187 小Z的笔记

    [题解] DP.  设f[i]表示前i个字母,保留第i个字母,最多可以保留多少个字母:设g[i]为当前字母为i的位置对应的f的最大值. 转移方程就是f[i]=max(f[i], g[j]+1) (j与 ...

  8. [洛谷P2174]小Z的神奇数列

    题目大意:有$n(n\leqslant10^6)$个数,$5$种操作: $D\;x:$从数列中删除$x$,相同的数只删除一个 $B:$最大值 $S:$最小值 $M:$输出$max^{min}\pmod ...

  9. [洛谷P2186] 小Z的栈函数

    题目链接: 传送门 题目分析: 大模拟,先得存操作,然后再处理每个数-- 有一个小优化,在处理操作的时候顺便判一下最后栈里是不是有且仅有一个数,但A完了才想起来,所以就算了-- 总之就是个模拟题--没 ...

随机推荐

  1. InfluxDB入门

    InfluxDB是一个用于存储和分析时间序列数据的开源数据库 时序数据是基于时间的一系列的数据 时序数据库就是存放时序数据的数据库,并且需要支持时序数据的快速写入.持久化.多纬度的聚合查询等基本功能 ...

  2. 【网络开发】详谈socket请求Web服务器过程

    最开始我们需要明白一件事情,因为这是这篇文章的前提: HTTP协议只是一个应用层协议,它底层是通过TCP进行传输数据的.因此,浏览器访问Web服务器的过程必须先有"连接建立"的发生 ...

  3. was8.5和aop的问题:JVMVRFY013 违反类装入约束

    一.错误日志:Error 500: javax.servlet.ServletException: java.lang.VerifyError: JVMVRFY013 违反类装入约束 类=org/sp ...

  4. Tomcat详解|乐字节

    大家好,欢迎来到乐字节小乐的Java技术分享园地.这次给大家分享的是Tomcat   一. 什么是 Tomcat Tomcat 是一个符合 JavaEE WEB 标准的最小的 WEB 容器,所有的 J ...

  5. Java多线程-同步:synchronized 和线程通信:生产者消费者模式

    大家伙周末愉快,小乐又来给大家献上技术大餐.上次是说到了Java多线程的创建和状态|乐字节,接下来,我们再来接着说Java多线程-同步:synchronized 和线程通信:生产者消费者模式. 一.同 ...

  6. 本地yum源 、阿里yum源、163yum源的配置安装

    一.本地yum源 (我使用的7.3版本) 1..添加一个新的yum源配置文件dvd.repo(文件名字自定义) vi etc/yum.repos.d     添加新的内容: name=rhel_dvd ...

  7. 数组中重复的数字(Golang)

    使用哈希表 package main import "fmt" func main() { a := [...]int{2,3,1,0,2,5,3} num := make(map ...

  8. PHP CLI中,三个系统常量:STDIN、STDOUT、STDERR

    PHP CLI中,有三个系统常量,分别是STDIN.STDOUT.STDERR,代表文件句柄. /** *@ 标准输入 *@ php://stdin & STDIN *@ STDIN是一个文件 ...

  9. [UOJ #167]【UR #11】元旦老人与汉诺塔

    题目大意:给你一个有$n$个盘子的汉诺塔状态$S$,问有多少种不同的操作方法,使得可以在$m$步以内到达状态$T$.$n,m\leqslant100$ 题解:首先可以知道的是,一个状态最多可以转移到其 ...

  10. GOF 的23种JAVA常用设计模式 学习笔记 持续更新中。。。。

    前言: 设计模式,前人总结下留给后人更好的设计程序,为我们的程序代码提供一种思想与认知,如何去更好的写出优雅的代码,23种设计模式,是时候需要掌握它了. 1.工厂模式 大白话:比如你需要一辆汽车,你无 ...