国产探花免费观看_亚洲丰满少妇自慰呻吟_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);
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陕西省| 成安县| 会泽县| 贺兰县| 确山县| 平和县| 克拉玛依市| 邵武市| 衡东县| 定结县| 叶城县| 莎车县| 宁波市| 邢台县| 桂平市| 白玉县| 会宁县| 临沧市| 屏南县| 沁源县| 安化县| 甘肃省| 萨嘎县| 安康市| 齐齐哈尔市| 泰来县| 通城县| 墨玉县| 林芝县| 深圳市| 奉贤区| 盖州市| 晋宁县| 扶沟县| 克拉玛依市| 宜宾县| 沙田区| 成都市| 若尔盖县| 满城县| 怀安县|