/*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. tomcat 配置虚拟路径

    把图片或者其他的文件传到webapps以外的目录 <Context docBase= "e:\image\"  path= "/uploads"  rel ...

  2. XCode6.1中的ios7.1适配

    在xcode6.1中新创建的项目,运行在我的ios7.1的ipod touch上时(与5s的一样的尺寸, Retina屏幕), 上下出现了黑边,由于没有下载7.1的模拟器,不知道模拟器上有无问题, 查 ...

  3. 团体程序设计天梯赛-练习集L2-010. 排座位

    L2-010. 排座位 时间限制 150 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位. ...

  4. 如何使用PHP实现一个WebService

    WSDL WSDL(网络服务描述语言,Web Services Description Language)是一门基于 XML 的语言,用于描述 Web Services 以及如何对它们进行访问.这种文 ...

  5. POJ 1562 && ZOJ 1709 Oil Deposits(简单DFS)

    题目链接 题意 : 问一个m×n的矩形中,有多少个pocket,如果两块油田相连(上下左右或者对角连着也算),就算一个pocket . 思路 : 写好8个方向搜就可以了,每次找的时候可以先把那个点直接 ...

  6. HDU1437+模拟

    枚举中间可能出现的天气 #include<stdio.h> #include<string.h> #include<stdlib.h> ; ][ ]; void s ...

  7. linux bash_profile和.bashrc区别

    经常在一些技术类的文章中提到修改bash_profile和.bashrc这两个文件,也算是使用频率比较高的两个文件吧,但实现同样一个功能,有的教程里说修改bash_profile这个文件,有的教程里却 ...

  8. SQLite入门与分析(三)---内核概述(2)

    写在前面:本节是前一节内容的后续部分,这两节都是从全局的角度SQLite内核各个模块的设计和功能.只有从全局上把握SQLite,才会更容易的理解SQLite的实现.SQLite采用了层次化,模块化的设 ...

  9. P125、面试题19:二叉树的镜像

    题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像二叉树结点的定义如下:struct BinaryTreeNode{       int     m_nValue;       BinaryTr ...

  10. 解决ImportError: cannot import name HTTPConnection的方法

    在写python程序的时候,使用from httplib import HTTPConnection,在run的时候提示ImportError: cannot import name HTTPConn ...