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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

P4309-[TJOI2013]最长上升子序列【Splay】

發布時間:2023/12/3 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 P4309-[TJOI2013]最长上升子序列【Splay】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

正題

題目鏈接:https://www.luogu.com.cn/problem/P4309


題目大意

nnn次,第iii次在第xix_ixi?個數字后面插入iii然后詢問最長上升子序列長度。


解題思路

因為是插入所以考慮用SplaySplaySplay維護,因為從小到大插入,其實每次就是找一個在xix_ixi?前面最大的fif_ifi?就好了,這個也用SplaySplaySplay維護即可。

時間復雜度O(nlog?n)O(n\log n)O(nlogn)


codecodecode

#include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int N=1e5+10; int n,cnt,root,f[N],g[N],ans; int t[N][2],fa[N],siz[N]; bool Direct(int x) {return t[fa[x]][1]==x;} void Connect(int x,int y,int dir) {t[x][dir]=y;fa[y]=x;return;} void PushUp(int x){g[x]=max(max(g[t[x][0]],g[t[x][1]]),f[x]);siz[x]=siz[t[x][0]]+siz[t[x][1]]+1;return; } void Rotate(int x){int y=fa[x],z=fa[y];int xs=Direct(x),ys=Direct(y);int w=t[x][xs^1];Connect(z,x,ys);Connect(y,w,xs);Connect(x,y,xs^1);PushUp(y);PushUp(x);return; } void Splay(int x,int f){while(fa[x]!=f){int y=fa[x];if(fa[y]==f)Rotate(x);else if(Direct(x)==Direct(y))Rotate(y),Rotate(x);else Rotate(x),Rotate(x);}if(!f)root=x;return; } int Find(int x,int k){if(siz[t[x][0]]>=k)return Find(t[x][0],k);if(siz[t[x][0]]+1==k)return x;return Find(t[x][1],k-siz[t[x][0]]-1); } int main() {scanf("%d",&n);t[2][0]=siz[1]=siz[2]=1;fa[1]=root=cnt=2;for(int i=1;i<=n;i++){int k;scanf("%d",&k);int x=Find(root,k+1),y=Find(root,k+2);Splay(y,0);Splay(x,y);t[x][1]=++cnt;fa[cnt]=x;f[cnt]=g[cnt]=g[x]+1;siz[cnt]=1;ans=max(ans,f[cnt]);printf("%d\n",ans);PushUp(x);PushUp(y);Splay(cnt,0);}return 0; } 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的P4309-[TJOI2013]最长上升子序列【Splay】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一级片在线免费 | 日本在线一区二区三区 | 免费的黄色av | 好大好爽好舒服 | 国产ts在线观看 | 久久日本精品字幕区二区 | 国产91丝袜在线观看 | 国产一区二区三区在线 | 亚洲4438| 少妇太紧太爽又黄又硬又爽 | 熟妇人妻va精品中文字幕 | 欧美交换国产一区内射 | 亚欧日韩av| 欧美一区二区三区免费视频 | 91碰在线视频 | 日韩黄网站| 蜜桃视频在线观看www | 青少年xxxxx性开放hg | 岛国大片在线观看 | 亚洲欧美精品一区二区 | 宅男深夜视频 | 国产黄色影院 | 操你啦在线视频 | 久久99网站 | 久久狠狠婷婷 | 国产精品日日摸天天碰 | 小毛片在线观看 | 娇妻第一次尝试交换的后果 | 国产一区二区视频在线免费观看 | 日韩成人精品一区二区三区 | 国产超91| 日韩精品视频在线看 | 日韩一区二区三区四区五区六区 | 在线99热 | 精品国产一区三区 | 又白又嫩毛又多15p 超碰在线一区 | 黄色成人在线免费观看 | 丰满秘书被猛烈进入高清播放在 | 日日射夜夜操 | 亚洲综合激情网 | 亚洲永久精品视频 | av老司机在线观看 | ass亚洲尤物裸体pics | 亚洲伦理一区二区三区 | 免费在线黄网 | 中国一级大黄大黄大色毛片 | 殴美一级黄色片 | yy色综合| 欧美综合在线一区 | 日本一区二区视频在线播放 | 精品久久在线 | 天堂av亚洲av国产av电影 | 色老头在线视频 | 国产日韩成人 | 麻豆视屏| av片子在线观看 | 国产激情在线视频 | 色综合视频| 91情侣视频 | 久久免费视频2 | 免费中文字幕日韩 | 黄色av网站在线看 | 亚洲天堂一区二区在线 | 老熟妇仑乱一区二区视频 | 日日骚一区 | 日韩天堂在线观看 | 国产精品理伦片 | 久久免费少妇高潮久久精品99 | 日韩中文字幕一区二区三区 | 午夜黄色福利 | 欧美性受视频 | av色成人 | 免费视频网站www | 一区二区三区在线免费观看 | www.波多野结衣.com | 伊人射 | 国产人妻人伦精品1国产盗摄 | 亚洲天堂h| 亚洲久久久久 | 亚洲一级在线观看 | 一个人在线观看www软件 | 国产一卡二卡在线播放 | 中文字幕第四页 | 手机天堂av | 日本强好片久久久久久aaa | 午夜视频免费观看 | 免费在线观看a视频 | 自拍偷拍欧美日韩 | 这里只有精品22 | 日韩av线上 | 免费在线观看污网站 | 国产精品破处 | 都市激情 自拍偷拍 | 国产精视频 | 亚洲乱码日产精品bd在线观看 | 国产福利一区二区 | 亚洲成人诱惑 | www色网| 超碰在线最新地址 |