BestCoder Round #29 GTY's gay friends
#include <cstdio>
#include <cstring>
#include <vector>
#include <algorithm>
using namespace std;
const int MAX = +;
int res[MAX<<],ans[MAX],t[MAX];
int a[MAX],last[MAX];
struct node {
int L,R,id,d;
bool operator <(const node rhs) const {
return R<rhs.R;
}
}v[MAX];
void push_up(int o) {
res[o]=max(res[o<<],res[o<<|]);
}
void build(int L,int R,int o) {
if(L==R) {
res[o]=a[L];
return ;
}
int mid=(L+R)>>;
build(L,mid,o<<);
build(mid+,R,o<<|);
push_up(o);
}
int Query1(int L,int R,int o,int ls,int rs) {
if(ls<=L&&rs>=R) {
return res[o];
} int mid=(L+R)>>;
int tt=;
if(ls<=mid) tt=max(tt,Query1(L,mid,o<<,ls,rs));
if(rs>mid) tt=max(tt,Query1(mid+,R,o<<|,ls,rs));
return tt;
}
int sum[MAX];
int lowbit(int x) {
return x&-x;
}
void modify(int pos,int val) {
for(int i=pos;i<MAX;i+=lowbit(i)) {
sum[i]+=val;
}
}
int Query(int pos) {
int res=;
for(int i=pos;i;i-=lowbit(i)) {
res+=sum[i];
}
return res;
}
int main() {
int n,m;
while(scanf("%d %d",&n,&m)==) {
for(int i=;i<=n;i++) {
scanf("%d",&a[i]);
}
build(,n,);
for(int i=;i<=m;i++) {
scanf("%d %d",&v[i].L,&v[i].R) ;
v[i].id=i;
v[i].d=(v[i].R-v[i].L+);
}
sort(v+,v++m);
memset(sum,,sizeof(sum));
memset(last,,sizeof(last));
int j=; for(int i=;i<=n;i++) {
if(last[a[i]]) {
modify(last[a[i]],-);
}
modify(i,);
last[a[i]]=i;
while(i==v[j].R&&j<=m) { ans[v[j].id]=Query(v[j].R)-Query(v[j].L-);
// printf("%d %d %d\n",ans[v[j].id],v[j].d,Query1(1,n,1,v[j].L,v[j].R));
if(ans[v[j].id]==v[j].d&&Query1(,n,,v[j].L,v[j].R)==v[j].d) {
t[v[j].id]=;
}
else t[v[j].id]=;
j++;
}
}
for(int i=;i<=m;i++) {
if(t[i]) printf("YES\n");
else printf("NO\n");
}
}
return ;
}
BestCoder Round #29 GTY's gay friends的更多相关文章
- BestCoder Round #29 1003 (hdu 5172) GTY's gay friends [线段树 判不同 预处理 好题]
传送门 GTY's gay friends Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Ot ...
- BestCoder Round #29——A--GTY's math problem(快速幂(对数法))、B--GTY's birthday gift(矩阵快速幂)
GTY's math problem Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Other ...
- bestcoder Round #7 前三题题解
BestCoder Round #7 Start Time : 2014-08-31 19:00:00 End Time : 2014-08-31 21:00:00Contest Type : ...
- BestCoder Round #89 02单调队列优化dp
1.BestCoder Round #89 2.总结:4个题,只能做A.B,全都靠hack上分.. 01 HDU 5944 水 1.题意:一个字符串,求有多少组字符y,r,x的下标能组成等比数列 ...
- BestCoder Round #90 //div all 大混战 一题滚粗 阶梯博弈,树状数组,高斯消元
BestCoder Round #90 本次至少暴露出三个知识点爆炸.... A. zz题 按题意copy Init函数 然后统计就ok B. 博弈 题 不懂 推了半天的SG..... 结果这 ...
- Bestcoder round #65 && hdu 5593 ZYB's Tree 树形dp
Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submissio ...
- Bestcoder round #65 && hdu 5592 ZYB's Premutation 线段树
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submissio ...
- 暴力+降复杂度 BestCoder Round #39 1002 Mutiple
题目传送门 /* 设一个b[]来保存每一个a[]的质因数的id,从后往前每一次更新质因数的id, 若没有,默认加0,nlogn复杂度: 我用暴力竟然水过去了:) */ #include <cst ...
- 贪心 BestCoder Round #39 1001 Delete
题目传送门 /* 贪心水题:找出出现次数>1的次数和res,如果要减去的比res小,那么总的不同的数字tot不会少: 否则再在tot里减去多余的即为答案 用set容器也可以做,思路一样 */ # ...
随机推荐
- 【转】在Ubuntu中安装HBase
原博客出自于: http://blog.fens.me/category/%E6%95%B0%E6%8D%AE%E5%BA%93/ 感谢! Posted: Apr 3, 2014 Tags: Hado ...
- [书目20150303]软件工程的本质:运用SEMAT内核
译者序Robert Martin作序Bertrand Meyer作序Richard Soley作序前言致谢第一部分 内核思想解释第1章 简要介绍如何使用内核1.1 为什么开发优秀软件具有很 ...
- [转]C#委托Action、Action<T>、Func<T>、Predicate<T>
CLR环境中给我们内置了几个常用委托Action. Action<T>.Func<T>.Predicate<T>,一般我们要用到委托的时候,尽量不要自己再定义一 个 ...
- android开发学习——关于activity 和 fragment在toolbar上设置menu菜单
在做一个项目,用的是Android Studio 系统的抽屉源码,但是随着页面的跳转,toolbar的title需要改变,toolbar上的menu菜单也需要改变,在网上找了好久,也尝试了很多,推荐给 ...
- gulp构建工具学习汇总
前端脚手架____gulp配置文件------- https://pan.baidu.com/s/1eSs7COy 1:有了package.json 直接 npm install自动下载相应的npm包 ...
- [BZOJ2330][SCOI2011]糖果 差分约束系统+最短路
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2330 类似于题目中这种含有不等式关系,我们可以建立差分约束系统来跑最长路或最短路. 对于一 ...
- Android开发中查看未root真机的app数据库
在Android开发中,如果用到数据库来储存数据,那么难免就要查看数据库中的内容,可是对于未root的真机来说,查看数据库就不是那么容易了,如果仅仅为了查看数据库再把手机root了,有点得不偿失,所以 ...
- Quartz2D知识点聚合案例
Quartz2D知识点聚合 基本 //画图片 UIImage *image = [UIImage imageNamed:@"阿狸头像"]; [image drawInRect:re ...
- 迅为IMX6UL工业级商业扩展级核心板兼容同一底板
商业级IMX6UL核心板: ARM Cortex-A7架构 主频高达528 MHz 核心板512M DDR内存 8G EMMC 存储 运行温度:-20℃ ~ +80℃ CPU集成电源管理 核心板尺寸仅 ...
- 使用Intellij IDEA的Bookmarks
用idea的时候,无意中发现了了一个小功能,叫做BookMark Ctrl+F11按出来的然后去查阅了一下文档,主要功能也就是可以清晰的看到自己标的书签附近的代码,比如我们在第11行按一下F11插入一 ...