看上去就很神秘。。。考虑建出图论模型。

我们将一张牌的两面 \(a,b\) 连一条边。

考虑一个连通块的意义是什么。

边是一张牌,容易发现,如果连通块是一棵树,那么选择一个根节点相当于可以打出除了根节点以外的所有牌。

如果连通块不是树,那么所有数都可以被打出。

容易发现,如果一个区间的一个子集全部都在一个连通块中,且这个连通块是一棵树,那么这个区间就寄了。

所以我们对每棵树维护两个值:所在连通块的最大值和最小值。

如果有一个区间被询问区间所包含,那么这个区间就寄了。

只需要做一个二维数点即可。CDQ和主席树都行。

实际上?

我们对于一对 \((mi,mx)\),我们令 \(a[mx]=mi\),然后做一个前缀 \(\max\),如果 \(l\leq a[r]\),那么就寄了,否则没有寄掉。

复杂度 \(O(n\alpha(n)+m)\)。

#include<cstdio>
const int M=1e5+5;
int n,k,a[M],f[M],mx[M],mi[M],siz[M];bool vis[M];
inline int max(const int&a,const int&b){
return a>b?a:b;
}
inline int min(const int&a,const int&b){
return a>b?b:a;
}
inline int Find(const int&u){
return f[u]==u?u:f[u]=Find(f[u]);
}
inline void Merge(int u,int v){
if((u=Find(u))==(v=Find(v)))return vis[u]=true,void();
if(siz[u]>siz[v])siz[f[v]=u]+=siz[v],mx[u]=max(mx[u],mx[v]),mi[u]=min(mi[u],mi[v]),vis[u]|=vis[v];
else siz[f[u]=v]+=siz[u],mx[v]=max(mx[v],mx[u]),mi[v]=min(mi[v],mi[u]),vis[v]|=vis[u];
}
signed main(){
scanf("%d%d",&n,&k);
for(int i=1;i<=n;++i)siz[f[i]=i]=1,mi[i]=mx[i]=i;
for(int i=1;i<=k;++i){
int u,v;scanf("%d%d",&u,&v);Merge(u,v);
}
for(int i=1;i<=n;++i)if(!vis[i]&&f[i]==i)a[mx[i]]=mi[i];
for(int i=2;i<=n;++i)a[i]=max(a[i],a[i-1]);
scanf("%d",&k);
for(int i=1;i<=k;++i){
int l,r;scanf("%d%d",&l,&r);
printf(l<=a[r]?"No\n":"Yes\n");
}
}

BSOJ6388题解的更多相关文章

  1. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  2. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  3. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

  4. Codeforces Round #353 (Div. 2) ABCDE 题解 python

    Problems     # Name     A Infinite Sequence standard input/output 1 s, 256 MB    x3509 B Restoring P ...

  5. 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解

    题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...

  6. 2016ACM青岛区域赛题解

    A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  7. poj1399 hoj1037 Direct Visibility 题解 (宽搜)

    http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...

  8. 网络流n题 题解

    学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...

  9. CF100965C题解..

    求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...

随机推荐

  1. MySQL数据类型的最优选择

    MySQL数据类型的最优选择   慎重选择数据类型很重要.为啥哩?可以提高性能.原理如下:            ● 存储(内存.磁盘).从而节省I/O(检索相同数据情况下)      ● 计算.进而 ...

  2. Springcloud-微服务

    1.什么是微服务? 通过阅读马丁弗勒关于描述微服务的文章(https://martinfowler.com/articles/microservices.html),在此特作仅用作个人理解的关于微服务 ...

  3. 带你十天轻松搞定 Go 微服务系列(九、链路追踪)

    序言 我们通过一个系列文章跟大家详细展示一个 go-zero 微服务示例,整个系列分十篇文章,目录结构如下: 环境搭建 服务拆分 用户服务 产品服务 订单服务 支付服务 RPC 服务 Auth 验证 ...

  4. Vue 组件库:Element

    目录 Element 介绍 什么是 Element ? Element 快速入门 Element 常用组件 基础布局 容器布局 表单组件 表格组件 顶部导航栏组件 侧边导航栏组件 Element 介绍 ...

  5. java Excel 简单工具

    我就简单的分享一下我常用的工具 这次由于个人问题工具注释全部乱码差点无法还原,也是为了防止数据丢失后期找不到再次保留方法把. 调用工具个别方法 <dependency> <group ...

  6. suse 12 二进制部署 Kubernetets 1.19.7 - 第00章 - 环境准备

    文章目录 0.环境准备 0.0.修改主机名 0.1.添加hosts解析 0.2.配置ssh免密 0.3.发送hosts解析文件到其他节点,并修改hostname 0.4.更新PATH变量 0.5.安装 ...

  7. tip2:Linux系统相关命令使用

    好记忆不如烂笔头,很多东西不常用突然要用就是记得相关的命令但是具体就不确定了,本文记录个人不常用同时偶尔用到但不确定或者记不住的内容. 一.用户管理 这组个人使用频率不高,知道同时记不住具体涉及的系统 ...

  8. SpringBoot 自定义内容协商策略 configureContentNegotiation

    在自定义的config配置类中,重写configureContentNegotiation方法 @Bean public WebMvcConfigurer webMvcConfigurer(){ re ...

  9. DH密钥交换协议

    密钥交换 密钥交换简单点来说就是允许两名用户在公开媒体上交换信息以生成"一致"的.可以共享的密钥.也就是由甲方产出一对密钥(公钥.私钥),乙方依照甲方公钥产生乙方密钥对(公钥.私钥 ...

  10. awvas启动不起来解决方案

    当双击桌面的"Acunetix图标",自动打开浏览器跳转页面,结果页面显示"无法访问此网站"按Windows+R键输入services.msc打开服务界面查看A ...