国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

【poj2104】K-th Number

2019-11-08 02:59:33
字體:
來源:轉載
供稿:網友

主席樹模板題,但是是不帶修改的QAQ

#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>using namespace std;const int N=1e5+5;int n,m,x,y,z,sz,ans;int val[N],loc[N],num[N],root[N];struct seg{ int lch,rch,val;}tr[N*20];int cmp(const int &a,const int &b){return val[a]<val[b];}inline void build(int &now,int l,int r,int x){ int mid=(l+r)>>1; tr[++sz]=tr[now],now=sz; tr[now].val++; if(l==r)return ; if (x<=mid) build(tr[now].lch,l,mid,x); else build(tr[now].rch,mid+1,r,x);}inline int query(int i,int j,int l,int r,int k){ if (l==r)return l; int mid=(l+r)>>1; int t=tr[tr[j].lch].val-tr[tr[i].lch].val; if (t>=k)return query(tr[i].lch,tr[j].lch,l,mid,k); else return query(tr[i].rch,tr[j].rch,mid+1,r,k-t);}int main(){ scanf("%d%d",&n,&m); for (int i=1;i<=n;i++) scanf("%d",&val[i]),loc[i]=i; sort(loc+1,loc+n+1,cmp); for (int i=1;i<=n;i++) num[loc[i]]=i; sz=0;root[0]=0; for (int i=1;i<=n;i++) { root[i]=root[i-1]; build(root[i],1,n,num[i]); } for (int i=1;i<=m;i++) { scanf("%d%d%d",&x,&y,&z); ans=query(root[x-1],root[y],1,n,z);
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大安市| 稻城县| 漳浦县| 义乌市| 海阳市| 竹溪县| 封开县| 宁波市| 浦北县| 莎车县| 合川市| 泰宁县| 连州市| 宜宾市| 绵阳市| 沐川县| 沁源县| 平遥县| 额敏县| 屯昌县| 永清县| 蓬安县| 尼勒克县| 丰原市| 抚州市| 榆树市| 罗山县| 剑阁县| 永州市| 阿克| 咸宁市| 弥勒县| 米泉市| 茶陵县| 镇平县| 南皮县| 郑州市| 韶山市| 蕲春县| 兰溪市| 夏邑县|