/*Source Code
Problem: 2104 User: 96655
Memory: 14808K Time: 1282MS
Language: G++ Result: Accepted
Source Code*/ #include<cstdio>
#include<algorithm>
#include<iostream>
#include<cstring>
#include<vector>
#include<stack>
using namespace std;
const int maxn=;
struct node
{
int val[maxn],num[maxn];
};
struct Tree
{
int n,o[maxn];
node t[];
void init(int len)
{
n=len;
for(int i=; i<=n; i++)
{
scanf("%d",&o[i]);
t[].val[i]=o[i];
}
sort(o+,o+n+);
build(,n,);
}
void build(int l,int r,int dep)
{
if(l==r)return;
int m=(l+r)>>;
int lsame=m-l+,same=,ln=l,rn=m+;
for(int i=l; i<=r; i++)
if(t[dep].val[i]<o[m])--lsame;
for(int i=l; i<=r; i++)
{
if(i==l)t[dep].num[i]=;
else t[dep].num[i]+=t[dep].num[i-];
if(t[dep].val[i]<o[m])
++t[dep].num[i],t[dep+].val[ln++]=t[dep].val[i];
else if(t[dep].val[i]>o[m])
t[dep+].val[rn++]=t[dep].val[i];
else
{
++same;
{
if(lsame>=same)
++t[dep].num[i],t[dep+].val[ln++]=t[dep].val[i];
else t[dep+].val[rn++]=t[dep].val[i];
}
}
}
build(l,m,dep+);
build(m+,r,dep+);
}
int query(int st,int ed,int k,int l,int r,int dep)
{
if(l==r)return t[dep].val[l];
int lx,ly,rx,ry,m=(l+r)>>;
if(st==l)lx=;
else lx=t[dep].num[st-];
ly=t[dep].num[ed];
if(ly-lx>=k)
return query(l+lx,l+ly-,k,l,m,dep+);
else
{
rx=st-l-lx;
ry=ed-st+-(ly-lx);
return query(m++rx,m+rx+ry,k-(ly-lx),m+,r,dep+);
}
}
}tree;
int main()
{
int n,q;
while(~scanf("%d%d",&n,&q))
{
tree.init(n);
while(q--)
{
int l,r,k;
scanf("%d%d%d",&l,&r,&k);
int ans=tree.query(l,r,k,,n,);
printf("%d\n",ans);
}
}
return ;
}

num数组一定要初始化,但是不知为什么POJ没初始化就过了,HDU同样的题就必须初始化,反正加上初始化没有错

POJ2104 K-th Number 划分树 模板题啊的更多相关文章

  1. hdu 2665 Kth number(划分树模板)

    http://acm.hdu.edu.cn/showproblem.php?pid=2665 [ poj 2104 2761 ]  改变一下输入就可以过 http://poj.org/problem? ...

  2. 主席树:POJ2104 K-th Number (主席树模板题)

    K-th Number Time Limit: 20000MS   Memory Limit: 65536K Total Submissions: 44952   Accepted: 14951 Ca ...

  3. 【POJ 2104】 K-th Number 主席树模板题

    达神主席树讲解传送门:http://blog.csdn.net/dad3zz/article/details/50638026 2016-02-23:真的是模板题诶,主席树模板水过.今天新校网不好,没 ...

  4. SPOJ MKTHNUM & POJ 2104 - K-th Number - [主席树模板题]

    题目链接:http://poj.org/problem?id=2104 Description You are working for Macrohard company in data struct ...

  5. hdu 2665 划分树模板题(可作为模板)

    Kth number Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  6. [hdu2665]Kth number(划分树求区间第k大)

    解题关键:划分树模板题. #include<cstdio> #include<cstring> #include<algorithm> #include<cs ...

  7. [POJ2104] 区间第k大数 [区间第k大数,可持久化线段树模板题]

    可持久化线段树模板题. #include <iostream> #include <algorithm> #include <cstdio> #include &l ...

  8. poj2104(划分树模板)

    poj2104 题意 给出一个序列,每次查询一个区间,要求告诉这个区间排序后的第k个数. 分析 划分树模板,O(mlogn). 建树.根据排序之后的数组,对于一个区间,找到中点的数,将整个区间分为左右 ...

  9. poj2104(划分树模板)

    poj2104 题意 给出一个序列,每次查询一个区间,要求告诉这个区间排序后的第k个数. 分析 划分树模板,O(mlogn). 建树.根据排序之后的数组,对于一个区间,找到中点的数,将整个区间分为左右 ...

随机推荐

  1. struts2的namespace

    struts2 的命名空间action里的name是个无关紧要的东西,namespace为‘/’表示所有 为‘/名字’,不管怎么访问只要名称空间些对了就不会错,/时你的请求地址可以直接写**Actio ...

  2. bnu 4359 无爱编号(规律)

    http://www.bnuoj.com/bnuoj/problem_show.php?pid=4359 [题意]:输入N,表示几位数,0-这个N位数,有多少个满足条件的号码,不满足的情况为出现4,1 ...

  3. VS asp.net 连接64位oracle 11g

    vs2010 vs2013 vs2015 无法连接oracle 11g 64bit 尝试加载 Oracle 客户端库时引发 BadImageFormatException......... A.安装o ...

  4. idea14使用maven创建web工程

    参考博客:http://geeksun.iteye.com/blog/2179658 http://www.bubuko.com/infodetail-387387.html ------------ ...

  5. json2.js使用参考

    json2.js的源码地址: https://github.com/douglascrockford/JSON-js Visual Studio用户可以直接通过Nuget来获得. json2.js提供 ...

  6. 【leetcode】Divide Two Integers (middle)☆

    Divide two integers without using multiplication, division and mod operator. If it is overflow, retu ...

  7. LESS CSS 总结

    1.LESS 简介 less是动态的样式表语言,通过简洁明了的语法定义,使编写 CSS 的工作变得非常简单 类似Jquery框架 中文网站: http://www.lesscss.net/ 2.编译工 ...

  8. 安装 ArcGIS Runtime SDK for Android

    ArcGIS for Android 开发:Android 平台搭建 - liyong20080101的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/liyong ...

  9. Java的类演进过程

    1.从面向过程到面向对象 在大家最熟悉的C语言中,如果要定义一个复杂的数据类型就用结构体(Struct)来实现,而为结构体的每个操作都定义一个函数,这个函数与结构体本身的定义没有任何关系.程序的重心集 ...

  10. Xcode中的iOS工程模板

    1. Application类型 我们大部分的开发工作都是从使用Application类型模板创建iOS程序开始的.该类型共包含7个模板,具体如下所示. Master-Detail Applicati ...