题解真的是越写越懒

// luogu-judger-enable-o2
#include<cstdio>
#include<algorithm>
using std::sort;
const int maxn = 200006;
int n,m,sum[maxn<<5]; inline int read() {
int x=0,f=1;
char c=getchar();
while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}
while(c>='0'&&c<='9') x=x*10+c-'0',c=getchar();
return x*f;
}
int a[maxn],cnt,tot,root[maxn],hash[maxn],ls[maxn<<5],rs[maxn<<5];
void desk() {
sort(hash+1,hash+n+1);
cnt=std::unique(hash+1,hash+n+1)-(hash+1);
for(int i=1;i<=n;i++) a[i]=std::lower_bound(hash+1,hash+cnt+1,a[i])-hash;
}
void insert(int l,int r,int &rt,int pre,int w) {
rt=++tot;
sum[rt]=sum[pre]+1;
if(l==r)return;
int mid=l+r>>1;
if(w<=mid) rs[rt]=rs[pre],insert(l,mid,ls[rt],ls[pre],w);
else ls[rt]=ls[pre],insert(mid+1,r,rs[rt],rs[pre],w);
}
int query(int l,int r,int tl,int tr,int k) {
if(l==r)return l;
int mid=l+r>>1,tmp=sum[ls[tr]]-sum[ls[tl]];
if(tmp>=k)return query(l,mid,ls[tl],ls[tr],k);
else return query(mid+1,r,rs[tl],rs[tr],k-tmp);
}
int main() {
n=read(),m=read();
for(int i=1;i<=n;++i) a[i]=read(),hash[i]=a[i];
desk();
for(int i=1;i<=n;++i) insert(1,cnt,root[i],root[i-1],a[i]);
for(int l, r, k;m--;) {
l=read(),r=read(),k=read();
printf("%d\n",hash[query(1,cnt,root[l-1],root[r],k)]);
}
return 0;
}

最新文章

  1. 20145224&amp;20145238 《信息安全系统设计基础》 第五次实验
  2. Microsoft Azure News(2) 在Microsoft Azure上运行SAP应用程序
  3. poj 1521
  4. Windows 10:解决开机显示C:\WINDOWS\system32\config\systemprofile\Desktop不可用的方法
  5. 冲刺阶段 day 6
  6. Bruce Eckel:编程生涯(转载)
  7. eclipse、myeclipse,svn插件subclipse 忘记密码的解决方法(win7、win8、xp)
  8. html-制作导航菜单
  9. HDU 1828 / POJ 1177 Picture (线段树扫描线,求矩阵并的周长,经典题)
  10. oracle连接和执行流程总结
  11. ArcEngine:栅格分级渲染
  12. NOTIFYICONDATA结构
  13. Oracle password expire notices
  14. yii post delete request more safe
  15. 使用JAVA进行MD5加密后所遇到的一些问题
  16. PAT (Advanced Level) 1075. PAT Judge (25)
  17. 【玩转树莓派】使用 sinopia 搭建私有 npm 服务器
  18. 分析MapReduce执行过程+统计单词数例子
  19. LindDotNetCore~框架介绍及特色功能(有点springboot的意思)
  20. windows 获取用户的Sid的方法

热门文章

  1. JMeter学习笔记(七) 导出文件接口测试
  2. jenkins构建定时任务
  3. Tensorflow实现LSTM识别MINIST
  4. 更优雅的清除浮动float方法
  5. NativeScript Vue 和 Weex 对比与分析
  6. POJ 1375 Intervals | 解析几何
  7. display 垂直居中
  8. Mysql事务隔离级
  9. windows技术
  10. 非常好!!!Linux源代码阅读——内核引导【转】