我还是太年轻了。。。

考场上就是直接枚举预处理当前位置左右延伸到的最远距离,好像是水了20。。

然后噶爷爷居然随机一下就AC了????mengbier

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
#include<ctime>
using namespace std;
inline int read()
{
int x=,f=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
}
int n,L[],R[];
int p[];
void extend(int i)
{
bool bk=true;
while(bk==true)
{
bk=false;
while(L[i]>&&(p[L[i]-]==||(L[i]<=p[L[i]-]&&p[L[i]-]<=R[i])))
{
bk=true, L[i]=min(L[i],L[L[i]-]), R[i]=max(R[i],R[R[i]-]);
}
while(R[i]<n&&(p[R[i]]==||(L[i]<=p[R[i]]&&p[R[i]]<=R[i])))
{
bk=true, L[i]=min(L[i],L[L[i]+]), R[i]=max(R[i],R[R[i]+]);
}
}
}
int rd[];
int main()
{
freopen("game.in","r",stdin);
freopen("game.out","w",stdout);
srand();
int m,Q,x,y;
n=read(),m=read(),Q=read();
memset(p,,sizeof(p));
for(int i=;i<=m;i++)x=read(),p[x]=read(); for(int i=;i<=n;i++)L[i]=R[i]=i; for(int i=;i<=n;i++)rd[i]=i;
random_shuffle(rd+,rd+n+);
for(int i=;i<=n;i++)
extend(rd[i]);
while(Q--)
{
x=read(),y=read();
if(L[x]<=y&&y<=R[x])printf("YES\n");
else printf("NO\n");
}
return ;
}

bzoj5288: [Hnoi2018]游戏的更多相关文章

  1. [BZOJ5288][HNOI2018]游戏(拓扑排序)

    传送门:https://www.luogu.org/problemnew/show/P4436 20分的暴力加一个Random_shuffle就A了.我还能说什么.. 不过这个也不是毫无道理,复杂度应 ...

  2. 【BZOJ5288】[HNOI2018]游戏(拓扑排序)

    [BZOJ5288][HNOI2018]游戏(拓扑排序) 题面 BZOJ 洛谷 题解 去年省选的时候这题给我乱搞整过去整过去了,也是虐心了.... 所以当然是来讲正儿八经的正确做法啦. 很明显,我们需 ...

  3. 5288: [Hnoi2018]游戏

    5288: [Hnoi2018]游戏 链接 分析: 考虑y<=x的怎么做,那么只能从左边走到右边.我们可以从最右边的点开始,一次确定每个点往右边可以走多少. L[x],R[x]分别是x向左向右最 ...

  4. 【BZOJ5288】[HNOI2018]游戏(乱搞?)

    [BZOJ5288][HNOI2018]游戏(乱搞?) 题面 BZOJ 洛谷 题面自己到洛谷上看把 题解 考场上乱搞拿到了\(90\)分,简直不敢相信. 回家把代码再交了一份直接就\(AC\)了??? ...

  5. bzoj 5288: [Hnoi2018]游戏

    Description Solution 乱搞能A的题,毁我青春 记忆化一下扩展过程 只要不是从 \(1\) 枚举到 \(n\) 去扩展都可以 \(AC\) 于是 \(random\_shuffle\ ...

  6. BZOJ.5288.[AHOI/HNOI2018]游戏(思路 拓扑)

    BZOJ LOJ 洛谷 考虑如何预处理每个点能到的区间\([l,r]\). 对于\(i,i+1\)的一扇门,如果钥匙在\(i\)的右边,连边\(i\to i+1\),表示从\(i\)出发到不了\(i+ ...

  7. [HNOI2018]游戏[拓扑排序]

    题意 题目链接 分析 先将没有锁的房间缩点,首先有一个 \(O(n^2)\) 的想法:从每个点出发,每次检查能否向两边扩张. 容易发现门和门之间如果有锁,必然只有一方能够开锁(只有一把钥匙),并且能够 ...

  8. 【比赛】HNOI2018 游戏

    考试的时候线段树区间查询的return条件打成了l==r....于是光荣爆20(线段树都不会打了?) 看膜博士的题解 #include<bits/stdc++.h> #define ui ...

  9. PKUSC2018训练日程(4.18~5.30)

    (总计:共66题) 4.18~4.25:19题 4.26~5.2:17题 5.3~5.9: 6题 5.10~5.16: 6题 5.17~5.23: 9题 5.24~5.30: 9题 4.18 [BZO ...

随机推荐

  1. ORACLE 11g 生产中高水位线(HWM)处理

    数据库中表不断的insert,delete,update,导致表和索引出现碎片.这会导致HWM之前有很多的空闲空间,而oracle在做全表扫描的时候会读取HWM一下的所有块,这样会产生更多的IO,影响 ...

  2. Hadoop MapReduce编程 API入门系列之最短路径(十五)

    不多说,直接上代码. ======================================= Iteration: 1= Input path: out/shortestpath/input. ...

  3. Android适配文件dimen自动生成代码

    1:保存下,别人的code import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputSt ...

  4. Django[pronounced dʒ] installation on windows

    1.Install python, download python windows installer from http://www.python.org/download/ and do inst ...

  5. 利用Axis2默认口令安全漏洞入侵WebService网站

    近期,在黑吧安全网上关注了几则利用Axis2默认口令进行渗透测试的案例,大家的渗透思路基本一致,利用的技术工具也大致相同,我在总结这几则案例的基础之上进行了技术思路的拓展.黑吧安全网Axis2默认口令 ...

  6. SVN客户端安装 Linux

    1.下载 [maintain@HM16-213 software]$ wget http://subversion.tigris.org/downloads/subversion-deps-1.6.1 ...

  7. -1.#IND000 &&图像类型转换

    (1):float acos(float x) 参数x的范围为-1.0f到1.0f之间,返回值范围在0.0f到3.141592653f之间,值得注意的是:当x超出[-1.0f,1.0f]这个范围时此函 ...

  8. C# 取web应用程序运行目录

    HttpRuntime.AppDomainAppPath

  9. C#读取EXCEL 并输出到文本框

    #region 加载数据到DataGraidView private void button1_Click(object sender, EventArgs e) { string excelPath ...

  10. 10件5G能实现,但4G不能做的事情

    10件5G能实现,但4G不能做的事情 从三星Galaxy S10 5G手机到OnePlus 7 Pro 5G手机以及更高版本,首批5G手机现已上市.5G网络时代的开启是从小范围内,如果你居住在可以使用 ...