[POI2014]KUR-Couriers

思路:

  卡空间,sb题;

代码:

#include <bits/stdc++.h>
using namespace std;
#define maxn 500005
#define maxn_ maxn*19
int n,m,lc[maxn_],rc[maxn_],dis[maxn_],ans;
int ai[maxn],bi[maxn],root[maxn],tot,size;
inline void in(int &now)
{
char Cget=getchar();now=;
while(Cget>''||Cget<'') Cget=getchar();
while(Cget>=''&&Cget<='')
{
now=now*+Cget-'';
Cget=getchar();
}
}
void build(int &now,int l,int r)
{
now=++tot;
if(l==r) return;
int mid=l+r>>;
build(lc[now],l,mid);
build(rc[now],mid+,r);
}
inline void add(int &now,int pre,int l,int r,int to)
{
now=++tot,dis[now]=dis[pre]+;
if(l==r) return;
int mid=l+r>>;
if(to<=mid) add(lc[now],lc[pre],l,mid,to),rc[now]=rc[pre];
else add(rc[now],rc[pre],mid+,r,to),lc[now]=lc[pre];
}
inline void query(int now,int pre,int l,int r,int k)
{
if(l==r) {ans=l;return;};
int mid=l+r>>,di=dis[lc[now]]-dis[lc[pre]];
if(di>=k) {query(lc[now],lc[pre],l,mid,k);return;}
di=dis[rc[now]]-dis[rc[pre]];
if(di>=k) {query(rc[now],rc[pre],mid+,r,k);return;}
ans=;return;
}
int main()
{
in(n),in(m);int l,r,to;
for(int i=;i<=n;i++) in(ai[i]),bi[i]=ai[i];
sort(bi+,bi+n+),size=unique(bi+,bi+n+)-bi-;
build(root[],,size);
for(int i=;i<=n;i++)
{
to=lower_bound(bi+,bi+size+,ai[i])-bi;
add(root[i],root[i-],,size,to);
}
while(m--)
{
in(l),in(r);
query(root[r],root[l-],,size,(r-l+>>)+);
printf("%d\n",bi[ans]);
}
return ;
}

最新文章

  1. JVM学习笔记(二)------Java代码编译和执行的整个过程【转】
  2. 从零开始学JAVA(02)-用Eclipse写hello World
  3. centos卸载自带的apache(httpd)
  4. Azure IoT 技术研究系列2-起步示例之设备注册到Azure IoT Hub
  5. 利用JavaScript数组动态写入HTML数据节点
  6. easyui+ztree 后台管理系统模板
  7. 流API--初体验
  8. [Jenkins]IOS构建机配置记录
  9. Crash工具实战-变量解析【转】
  10. office 安装
  11. Java的三种代理模式(Spring动态代理对象)
  12. Unity3D中播放视频的方法
  13. ios 百度地图使用
  14. 洛谷 P1158 导弹拦截(不是那个DP) 解题报告
  15. Ubuntu14.04配置jdk1.8.0_25,可切换版本
  16. 【290】Python 函数
  17. GIS的核心价值——服务
  18. cf1072D. Minimum path(BFS)
  19. python系列十五:Python3 错误和异常
  20. 100211D Police Cities

热门文章

  1. find_in_set 函数使用方法
  2. Moodle安装图解
  3. phpstorm license 解决
  4. ZooKeeper翻译(一)
  5. 51Nod 1083 矩阵取数问题 | 动态规划
  6. UVA129 暴力dfs,有许多值得学习的代码
  7. Mybatis xml 写sql如何判断集合的size
  8. 基本控件文档-UIButton属性---iOS-Apple苹果官方文档翻译
  9. HTTP响应码摘自apach官网
  10. Perl6 Bailador框架(4):路径匹配