博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj 5288: [Hnoi2018]游戏
阅读量:4626 次
发布时间:2019-06-09

本文共 821 字,大约阅读时间需要 2 分钟。

Description

1146405-20180416164748783-1766702186.png

Solution

乱搞能A的题,毁我青春

记忆化一下扩展过程
只要不是从 \(1\) 枚举到 \(n\) 去扩展都可以 \(AC\)
于是 \(random\_shuffle\) 一下扩展顺序就过了
复杂度应该是启发式合并的复杂度

#include
using namespace std;const int N=1e6+10;int n,a[N],L[N],R[N],m,Q,p[N];inline void solve(int x){ int l=x,r=x; while(1){ if(l>1 && ((l<=a[l-1] && a[l-1]<=r) || !a[l-1])){ l--; l=min(l,L[l]);r=max(r,R[l]); continue; } if(r
>n>>m>>Q; for(int i=1;i<=m;i++) scanf("%d%d",&x,&y),a[x]=y; for(int i=1;i<=n;i++)L[i]=n+1; for(int i=1;i<=n;i++)p[i]=i; for(int i=1;i<=5;i++)random_shuffle(p+1,p+n+1); for(int i=1;i<=n;i++)solve(p[i]); while(Q--){ scanf("%d%d",&x,&y); if(L[x]<=y && y<=R[x])puts("YES"); else puts("NO"); } return 0;}

转载于:https://www.cnblogs.com/Yuzao/p/8856829.html

你可能感兴趣的文章
纯CCS绘制三角形箭头图案
查看>>
eclipse常见错误
查看>>
c++ string转char*
查看>>
eclipse 创建maven 项目 动态web工程完整示例
查看>>
大道至简读后感以及JAVA伪代码
查看>>
bfs记录路径,蓝桥杯真题
查看>>
2018.09.27 bzoj3029: 守卫者的挑战(概率dp)
查看>>
winXP启用SSL方式IIS
查看>>
java类路径classpath和包
查看>>
Oracler读取各种格式的相关日期格式
查看>>
Python学习札记(三十六) 面向对象编程 Object Oriented Program 7 __slots__
查看>>
iOS 时间和时间戳之间转化
查看>>
【整理】C#文件操作大全(SamWang)
查看>>
如何从数据库生成 EF Code First model
查看>>
box2dweb基础
查看>>
2013年3月4号
查看>>
jQuery 模拟 ubuntu 3D desktop 的 Dodge Effect 效果
查看>>
QT Creator 快速入门教程 读书笔记(一)
查看>>
CNN之yolo目标检测算法复习总结
查看>>
day17,模块的导入
查看>>