博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ3339: Rmq Problem
阅读量:4686 次
发布时间:2019-06-09

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

【传送门:】


简要题意:

  给出一个长度为n的数列,有m个询问,每个询问输入l,r,求出l到r之间没出现过的最小自然数


题解:

  同


参考代码:

#include
#include
#include
#include
#include
using namespace std;struct question{ int l,r,id,d;}q[210000];int belong[210000],L[1100],R[1100],block;bool cmp1(question n1,question n2){ if(belong[n1.l]
belong[n2.l]) return false; if(n1.r
n2.r) return false; return false;}bool cmp2(question n1,question n2){ return n1.id
n) a[i]=n; int t=(i-1)/block+1; belong[i]=t; if(L[t]==0) R[t-1]=i-1,L[t]=i; } R[belong[n]]=n; for(int i=1;i<=m;i++) scanf("%d%d",&q[i].l,&q[i].r),q[i].id=i; sort(q+1,q+m+1,cmp1); int l=1,r=0; memset(d,0,sizeof(d)); for(int i=1;i<=m;i++) { while(l
q[i].l) l--,add(a[l]); while(r
q[i].r) del(a[r]),r--; q[i].d=solve()-1; } sort(q+1,q+m+1,cmp2); for(int i=1;i<=m;i++) printf("%d\n",q[i].d); return 0;}

转载于:https://www.cnblogs.com/Never-mind/p/8743978.html

你可能感兴趣的文章
ArrayList和LinkedList和Vector源码分析
查看>>
webservice整合spring cxf
查看>>
再次编译这个应用程序应该不会有问题
查看>>
Ubuntu-tomcat7目录
查看>>
189. Rotate Array
查看>>
使用ASP.Net WebAPI构建REST服务(六)——Self-Host
查看>>
asp.net 的三种开发模式
查看>>
Android 交叉编译 IPerf3
查看>>
Android原生Gallery关于图像Orientation的问题
查看>>
Android开发之ViewPager
查看>>
【NOIP2017】列队【可持久化线段树】
查看>>
python学习——通过while循环语句实现九九乘法表的四种表达方式
查看>>
[解题报告] 100 - The 3n + 1 problem
查看>>
MvvmCross[翻译] 使用Xamarin与MvvmCross完成一个跨平台App
查看>>
Entity Framework 学习高级篇1—改善EF代码的方法(上)
查看>>
027-chown命令
查看>>
Python 线程、进程和协程
查看>>
赛普系统自动拨号
查看>>
platform_device与platform_driver
查看>>
[iOS] iPad与iPhone上各种标准控件的大小
查看>>