【POJ 2104】 K-th Number 主席树模板题
达神主席树讲解传送门:http://blog.csdn.net/dad3zz/article/details/50638026
2016-02-23:真的是模板题诶,主席树模板水过。今天新校网不好,没有评测,但我立下flag这个代码一定能A。我的同学在自习课上考语文,然而机房党都跑到机房来避难了\(^o^)/~
2016-02-24:果然A乐~~~,我们机房党又躲过啦数学考试。良心不安啊
#include<cstdio>
#include<cstring>
#include<algorithm>
#define for1(i,a,n) for(int i=(a);i<=(n);i++)
#define for2(i,a,n) for(int i=(a);i<(n);i++)
#define for3(i,a,n) for(int i=(a);i>=(n);i--)
#define for4(i,a,n) for(int i=(a);i>(n);i--)
#define CC(i,a) memset(i,a,sizeof(i))
#define MID (l+r)>>1
#define read(x) x=getint()
using namespace std;
const int N=100010;
inline int max(const int &a,const int &b){return a>b?a:b;}
inline int min(const int &a,const int &b){return a<b?a:b;}
inline void swapp(int &a,int &b){int c=a;a=b;b=c;}
inline int getint(){char c;int ret=0,k=1;for(c=getchar();c<'0'||c>'9';c=getchar())if(c=='-')k=-1;for(;c>='0'&&c<='9';c=getchar())ret=ret*10+c-'0';return ret*k;}
int key,a[N],id[N],b[N],n,m,root[N],cnt=0;
struct node{int l,r,s;}T[N*50];
inline bool cmp(int x,int y){return a[x]<a[y];}
inline void update(int l,int r,int &pos){
T[++cnt]=T[pos]; pos=cnt; T[pos].s++;
if (l==r) return;
int m=MID;
if (key<=m) update(l,m,T[pos].l); else update(m+1,r,T[pos].r);
}
inline int query(int l,int r,int x,int y,int k){
if (l==r) return l;
int m=MID,s=T[T[y].l].s-T[T[x].l].s;
if (k<=s) return query(l,m,T[x].l,T[y].l,k); else return query(m+1,r,T[x].r,T[y].r,k-s);
}
int main(){
read(n); read(m);
for1(i,1,n) read(a[i]),id[i]=i;
sort(id+1,id+n+1,cmp);
for1(i,1,n) b[id[i]]=i;
for1(i,1,n){
root[i]=root[i-1]; key=b[i];
update(1,n,root[i]);
}int x,y;
while (m--){
read(x); read(y); read(key);
printf("%d\n",a[id[query(1,n,root[x-1],root[y],key)]]);
}return 0;
}
这样就可以了,主席树水过了,然而这是DaD3zZ几年前就虐的东西~~(╯﹏╰)b,本蒟蒻还得努力啊。
【POJ 2104】 K-th Number 主席树模板题的更多相关文章
- 主席树:POJ2104 K-th Number (主席树模板题)
K-th Number Time Limit: 20000MS Memory Limit: 65536K Total Submissions: 44952 Accepted: 14951 Ca ...
- SPOJ MKTHNUM & POJ 2104 - K-th Number - [主席树模板题]
题目链接:http://poj.org/problem?id=2104 Description You are working for Macrohard company in data struct ...
- POJ 2104 K-th Number(主席树模板题)
http://poj.org/problem?id=2104 题意:求区间$[l,r]$的第k小. 思路:主席树不好理解啊,简单叙述一下吧. 主席树就是由多棵线段树组成的,对于数组$a[1,2...n ...
- 【BZOJ 1901】【Zju 2112】 Dynamic Rankings 动态K值 树状数组套主席树模板题
达神题解传送门:http://blog.csdn.net/dad3zz/article/details/50638360 说一下我对这个模板的理解: 看到这个方法很容易不知所措,因为动态K值需要套树状 ...
- poj2104 主席树模板题
题意 给出n个数字组成的数字序列,有m组询问.每次询问包含三个数字l,r,k.对于每个询问输出序列区间[l,r]中第k大的数字. 分析 这是主席树的模板题,套板子就可以 #include <cs ...
- hdu2665(主席树模板题)
hdu2665 题意 求区间第 k 小. 分析 参考 这类题目做法挺多的,例如 划分树. 这里使用主席树再写一发,不得不说主席树相比而言要好写的多,比起普通线段树,主席树就是复用了线段树共有的信息. ...
- POJ-2104-K-th Number(区间第K大+主席树模板题)
Description You are working for Macrohard company in data structures department. After failing your ...
- POJ 2104 主席树模板题
#include <iostream> #include <cstdio> #include <algorithm> int const maxn = 200010 ...
- POJ2104 K-th Number 划分树 模板题啊
/*Source Code Problem: 2104 User: 96655 Memory: 14808K Time: 1282MS Language: G++ Result: Accepted S ...
随机推荐
- JavaWeb学习----http协议
一.什么是HTTP协议: 1.概念: 客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式(规定客户端和服务器如何 ...
- Android系列之网络(三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- Linux命令学习-mkdir
1. [root@www tmp]# mkdir test <=建立一名为 test 的新目录 2. [root@www tmp]# mkdir -p /opt/tmp/abc < ...
- MongoDB学习(三)数据导入导出及备份恢复
这几天想着公司要用MongoDB,自然就要用到数据导入导出,就自己学习了一下. 在Mongo学习(二)中就讲到了在bin目录下有一些工具,本篇就是使用这些工具进行数据的导入导出及备份恢复. 注意:以下 ...
- 原生js颗粒页换图效果
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 6月27日 OGDF不同的布局算法
检查不同布局算法 备注 CircularLayout 可以非连通 FastMultipoleMultilevelEmbedder FMMMLayout 可以非连通 StressMajoriz ...
- Mac上安装node.js
1.下载node for mac并一路默认安装 2.测试成功否 3.copy this file to test(save as javascript file) var http = require ...
- ES6严格模式use strict下的保留字
implements interface let package private protected public static yield
- RDLC系列之三 图片显示
一.头像效果
- Go 命令之 godep
本文参考:http://www.cnblogs.com/me115/p/5528463.html#h20 http://studygolang.com/articles/4385 关于Godep 发现 ...