这分送的真慷慨,我随手打了个莫队,就90了。。。。

90分代码:

#include<bits/stdc++.h>
using namespace std;
#define MAXN 1000000+10
struct que{int l,r,id,a1,a2;}qu[MAXN];
int n,m,siz,q,a[MAXN],pos[MAXN],vis[MAXN];
bool cmp(que a,que b){return pos[a.l]==pos[b.l]?a.r<b.r:pos[a.l]<pos[b.l];}
int main(){
scanf("%d%d%d",&n,&m,&q);
siz=sqrt(m);
for(int i=;i<=m;i++)scanf("%d",&a[i]);
for(int i=;i<=q;i++)scanf("%d%d",&qu[i].l,&qu[i].r),qu[i].id=i;
for(int i=;i<=m;i++)pos[i]=(i-)/siz+;
sort(qu+,qu+q+,cmp);
for(int i=qu[].l;i<=qu[].r;i++)vis[a[i]]++;
int l=qu[].l,r=qu[].r;
for(int i=;i<=q;i++){
while(l<qu[i].l)vis[a[l]]--,l++;
while(r>qu[i].r)vis[a[r]]--,r--;
while(l>qu[i].l)l--,vis[a[l]]++;
while(r<qu[i].r)r++,vis[a[r]]++;
qu[qu[i].id].a1=-;
for(int j=;j<n;j++)
if(!vis[j]&&!vis[j+]){
qu[qu[i].id].a1=j;
qu[qu[i].id].a2=j+;
break;
}
}
for(int i=;i<=q;i++)
if(qu[i].a1==-)printf("-1\n");
else printf("%d %d\n",qu[i].a1,qu[i].a2);
return ;
}

主席树正解的坑有空再填

tyvj4866 摆摊的更多相关文章

  1. 去摆摊吧,落魄的Java程序员

    真的,我也打算去摆摊,宣传语我都想好了.沉默王二,一枚有颜值却靠才华苟且的程序员,<Web 全栈开发进阶之路>作者,CSDN 明星博主,周排名第 4,总排名 40,这数据在众多互联网大咖面 ...

  2. 数据洞察 | Python解读地摊——你想好摆摊去卖什么了吗?

    知乎上有一个问题:疫情结束后,你最想做的一件事是什么? 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去 ...

  3. CDN百科第四讲 | 如何优雅地在云上“摆摊”——做直播带货,你不得不关注的技术

    最近,国家政策开始鼓励“地摊经济”,一时间各家企业平台纷纷推出地摊扶持政策,地摊概念股顺势大涨,地摊生态及配套商品也开始走俏,甚至在网络上也涌现出各种“新摊主速成攻略”,万亿的烟火经济俨然已经走上风口 ...

  4. JAVA回调机制(CallBack)详解

    序言 最近学习java,接触到了回调机制(CallBack).初识时感觉比较混乱,而且在网上搜索到的相关的讲解,要么一言带过,要么说的比较单纯的像是给CallBack做了一个定义.当然了,我在理解了回 ...

  5. 【Win 10 应用开发】Toast通知激活应用——前台&后台

    老周最近热衷于讲故事,接下来还是讲故事时间. 有人问我:你上大学的时候,有加入过学生会吗?读大学有没有必要加入学生会? 哎哟,这怎么回答呢,从短期来说,加入学生会有点用,至少可以娱乐一下,运气好的话, ...

  6. MMORPG大型游戏设计与开发(服务器 游戏场景 核心详述)

    核心这个词来的是多么的高深,可能我们也因为这个字眼望而却步,也就很难去掌握这部分的知识.之所以将核心放在最前面讲解,也可以看出它真的很重要,希望朋友们不会错过这个一直以来让大家不熟悉的知识,同我一起进 ...

  7. 你听说过哪些坑人 or 赚钱的歪点子?真是骗局太多,傻子都不够用啊!

    又到了骗术揭秘时间了.各位看客您扶稳做好了,来给你深扒一些行业内幕了. 或者说一些投机的思路. 先提前写一些字,相信你们一会评论时候会用的上.直接复制,比较省力. “这年头傻逼太多,骗子明显不够用啊. ...

  8. USBD_STATUS

    USBD_STATUS   该USBD_STATUS数据类型为USB请求定义USB状态值.     的typedef LONG USBD_STATUS; USB状态值的最显著4位被如下表中所定义. 值 ...

  9. [HIMCM暑期班]第1课:概述

    作为这个系列的开始,我会把每一节课上过的内容,与同学们互动后发现他们的闪光点记录下来,以后其他要准备该比赛的人借鉴和参考. 第一节课是概述,主要讲什么是数学建模,还有建模可以帮助我们做什么.举了三个例 ...

随机推荐

  1. shell编程下 特殊变量、test / [ ]判断、循环、脚本排错

    第1章 shell中的特殊变量 1.1 $# $# 表示参数的个数 1.1.1 [示例]脚本内容 [root@znix ~]# cat /server/scripts/show2.sh #!/bin/ ...

  2. 利用quartz实现定时调度

    1.Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用.这里我介绍quartz的两种方式.我这里搭建 ...

  3. shapes 不规则边界

    CSS基本形状都是矩形,CSS shapes允许开发者用定制的路径来包裹内容,例如圆形,椭圆,多边形等.   形状可以自定义也可以从图片中推断   从图片推断,例如可以让文字按照图片形状来浮动到一边: ...

  4. 享受Python和PHP动态类型检查语言的快感

    前言 写这文章的时候特地查了资料,以确保我没有说错关于Python和PHP的类型机制. 所以这里放一张图,关于强弱类型与动态/静态类型检查的区分 从分类上看,PHP属于弱类型语言,而Python属于强 ...

  5. 发放福利:原价135元/年的阿里云CDN流量包(500GB)免费送

    不少朋友看过本站推荐的两篇文章:1. <阿里云全民云计算活动:云服务器ECS二折起>2. <阿里云双11优惠活动-爆款云服务器> 大部分人都说不错,很快下单购买了服务器,后续使 ...

  6. linux学习笔记二

    进程(process)是程序实体运行的过程,是系统进行资源分配和调度的独立单位,或者说是一个程序在处理机上的一次执行活动. 区分一下进程和程序 1.0 程序是一个静态指令的集合:而进程是一个程序的动态 ...

  7. Owin中间件动手玩

    摘要:本文目的是了解Owin基本原理.讲述如何从控制台创建一个自宿主的OwinHost,然后再编写一两个中间件 准备工作 首先通过VisualStudio创建一个控制台应用 然后添加Owin的Nuge ...

  8. C#2.0中使用yield关键字简化枚举器的实现

    我们知道要使用foreach语句从客户端代码中调用迭代器,必需实现IEnumerable接口来公开枚举器,IEnumerable是用来公开枚举器的,它并不实现枚举器,要实现枚举器必需实现IEnumer ...

  9. git如何忽略文件

    偶尔有一些文件你不想让git提交到代码配置库上,这里有一些方法可以告诉git,有哪些文件可以忽略. 创建一个本地的.gitignore 如果你在你的git库(repository)中创建了一个名为.g ...

  10. LSA和pLSA的比较

    Comparison   LSA pLSA 1. Theoretical background Linear Algebra Probabilities and Statistics 2. Objec ...