日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【模板】可持久化线段树 1(主席树)

發(fā)布時間:2025/3/21 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【模板】可持久化线段树 1(主席树) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目背景

這是個非常經(jīng)典的主席樹入門題——靜態(tài)區(qū)間第K小

數(shù)據(jù)已經(jīng)過加強,請使用主席樹。同時請注意常數(shù)優(yōu)化

題目描述

如題,給定N個正整數(shù)構(gòu)成的序列,將對于指定的閉區(qū)間查詢其區(qū)間內(nèi)的第K小值。

輸入輸出格式

輸入格式:

第一行包含兩個正整數(shù)N、M,分別表示序列的長度和查詢的個數(shù)。

第二行包含N個正整數(shù),表示這個序列各項的數(shù)字。

接下來M行每行包含三個整數(shù)l,r,k l, r, kl,r,k , 表示查詢區(qū)間[l,r][l, r][l,r]內(nèi)的第k小值。

輸出格式:

輸出包含k行,每行1個正整數(shù),依次表示每一次查詢的結(jié)果

輸入輸出樣例

輸入樣例#1: 復(fù)制 5 5 25957 6405 15770 26287 26465 2 2 1 3 4 1 4 5 1 1 2 2 4 4 1 輸出樣例#1: 復(fù)制 6405 15770 26287 25957 26287

說明

數(shù)據(jù)范圍

對于20%的數(shù)據(jù)滿足:1≤N,M≤101 \leq N, M \leq 101N,M10

對于50%的數(shù)據(jù)滿足:1≤N,M≤1031 \leq N, M \leq 10^31N,M103

對于80%的數(shù)據(jù)滿足:1≤N,M≤1051 \leq N, M \leq 10^51N,M105

對于100%的數(shù)據(jù)滿足:1≤N,M≤2?1051 \leq N, M \leq 2\cdot 10^51N,M2?105

對于數(shù)列中的所有數(shù)aia_iai?,均滿足?109≤ai≤109-{10}^9 \leq a_i \leq {10}^9?109ai?109

樣例數(shù)據(jù)說明

N=5,數(shù)列長度為5,數(shù)列從第一項開始依次為[25957,6405,15770,26287,26465][25957, 6405, 15770, 26287, 26465 ][25957,6405,15770,26287,26465]

第一次查詢?yōu)?span id="ozvdkddzhkzd" class="katex">[2,2][2, 2][2,2]區(qū)間內(nèi)的第一小值,即為6405

第二次查詢?yōu)?span id="ozvdkddzhkzd" class="katex">[3,4][3, 4][3,4]區(qū)間內(nèi)的第一小值,即為15770

第三次查詢?yōu)?span id="ozvdkddzhkzd" class="katex">[4,5][4, 5][4,5]區(qū)間內(nèi)的第一小值,即為26287

第四次查詢?yōu)?span id="ozvdkddzhkzd" class="katex">[1,2][1, 2][1,2]區(qū)間內(nèi)的第二小值,即為25957

第五次查詢?yōu)?span id="ozvdkddzhkzd" class="katex">[4,4][4, 4][4,4]區(qū)間內(nèi)的第一小值,即為26287

思路

可持久化線段樹這種東西,隨便手模不就能行了嘛;

對于每個新時段樹更新一條相關(guān)鏈,其余引用前面時段的樹枝即可;

代碼實現(xiàn)

1 #include<cstdio> 2 #include<algorithm> 3 const int maxn=2e5+10; 4 int n,m,q; 5 int s[maxn],f[maxn]={-1}; 6 int rt[maxn],rts; 7 int t[maxn<<4],ls[maxn<<4],rs[maxn<<4]; 8 void add(int q,int&p,int l,int r,int x){ 9 if(!p) p=++rts; 10 if(l==r){ 11 t[p]=t[q]+1; 12 return; 13 } 14 int mid=l+r>>1; 15 if(x<=f[mid]) rs[p]=rs[q],add(ls[q],ls[p],l,mid,x); 16 else ls[p]=ls[q],add(rs[q],rs[p],mid+1,r,x); 17 t[p]=t[ls[p]]+t[rs[p]]; 18 } 19 int see(int q,int p,int l,int r,int x){ 20 if(l==r) return f[l]; 21 int mid=l+r>>1; 22 if(x>t[ls[p]]-t[ls[q]]) return see(rs[q],rs[p],mid+1,r,x-t[ls[p]]+t[ls[q]]); 23 else return see(ls[q],ls[p],l,mid,x); 24 } 25 int main(){ 26 scanf("%d%d",&n,&q); 27 for(int i=1;i<=n;i++) scanf("%d",&s[i]),f[i]=s[i]; 28 std::sort(f+1,f+n+1); 29 for(int i=1;i<=n;i++) if(f[i]!=f[m]) f[++m]=f[i]; 30 for(int i=1;i<=n;i++) add(rt[i-1],rt[i],1,m,s[i]); 31 int l,r,k; 32 for(int i=1;i<=n;i++){ 33 scanf("%d%d%d",&l,&r,&k); 34 printf("%d\n",see(rt[l-1],rt[r],1,m,k)); 35 } 36 return 0; 37 }

?

轉(zhuǎn)載于:https://www.cnblogs.com/J-william/p/8127778.html

總結(jié)

以上是生活随笔為你收集整理的【模板】可持久化线段树 1(主席树)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 97成人精品视频在线观看 | 奶水旺盛的女人伦理 | 国产网站在线 | 岛国av免费在线观看 | 一区视频 | 婷婷伊人五月 | 99热这里只有精品首页 | 毛片日韩 | 天天干天天舔天天射 | 911香蕉视频| 欧美色图17p | 偷偷操不一样 | 制服丝袜av在线 | 亚洲av无码国产在丝袜线观看 | 免费网站成人 | 在线观看的毛片 | 关之琳三级做爰 | 日韩亚洲欧美一区二区三区 | 久久丝袜美腿 | 国产中文一区二区 | 黄色片网站大全 | 欧美日韩激情在线一区二区三区 | 亚欧成人精品一区二区 | 久久久精品免费 | 欧美在线观看www | 亚洲人成电影网站 | 又黄又爽又色的视频 | 在线播放精品 | 久久精品日韩 | 欧美嫩草影院 | 成人免费一级视频 | 国产自偷自拍 | 夜夜骑av | 97人人爽人人爽人人爽人人爽 | 1024手机在线观看 | 日韩美女视频一区 | 中文人妻熟妇乱又伦精品 | 黑人高潮一区二区三区在线看 | 国产精品入口免费 | 亚洲大片免费观看 | 亚洲无色| www.黄色片.com| 天天舔天天干天天操 | 高h喷水荡肉少妇爽多p视频 | 午夜国产在线视频 | 国产高潮在线观看 | 扒开伸进免费视频 | 免费在线观看污 | 国产精品久线在线观看 | 热99| 久久88 | 久久精品黄aa片一区二区三区 | 一区二区成人在线观看 | 青青草视频污 | jizzjizz欧美69巨大 | 欧美性猛交xxxxx水多 | 美女久久久久久 | 国产精品.xx视频.xxtv | 米奇狠狠干 | 日本理论视频 | 国产99免费 | 久操青青 | 深田咏美在线x99av | 好妞色妞国产在线视频 | 欧美youjizz| 色哟哟视频网站 | 中文字幕日韩视频 | 人妻熟女一区 | 成人免费大片黄在线播放 | 色妞色| 五月婷在线观看 | 国产成人综合在线观看 | 日韩精品视频在线免费观看 | 久草资源网站 | 国产波霸爆乳一区二区 | 男人天堂新地址 | 天天操夜夜操 | 成人中文在线 | 欧美成人一区二免费视频软件 | 亚洲精品h | 一女三黑人理论片在线 | 97在线免费公开视频 | 成年人黄色在线观看 | 欧美日韩看片 | 国产精品丝袜黑色高跟鞋的设计特点 | av大片在线免费观看 | 精品国产高清在线观看 | 乱色视频| 海量av资源 | 天堂激情网| 99re伊人 | 这里只有精品6 | 强伦人妻一区二区三区 | 成人蜜桃av| 精品一区二区三区免费视频 | 人体内射精一区二区三区 | 91视频入口 | 国产精品99久 | 国产91精品一区 |