麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

BZOJ 3223, 文藝平衡樹

2019-11-11 05:01:55
字體:
來源:轉載
供稿:網友

PRoblem

傳送門

Mean

編寫一個支持對數列進行翻轉子串操作的數據結構。

Analysis

Splay裸題。 只需要支持翻轉操作即可。 輸出數列時一個一個查詢就是了……

Code

#include<cstdio>const int N=100005;int n,m,o,x,y,cnt,a[N],val[N],f[N],sz[N],son[N][2];bool rev[N];void swap(int &x,int &y){int z=x;x=y;y=z;}void revl(int x){if(!x) return;swap(son[x][0],son[x][1]);rev[x]^=1;}void read(int &x){ char c; while((c=getchar())<'0' || c>'9'); x=c-'0'; while((c=getchar())>='0' && c<='9') x=x*10+c-'0';}void pb(int x){ if(rev[x]){ revl(son[x][0]); revl(son[x][1]); rev[x]=0; }}void up(int x){ int l=son[x][0],r=son[x][1]; sz[x]=sz[l]+sz[r]+1;}int build(int l,int r,int fa){ int x=++cnt,mid=l+r>>1; f[x]=fa,val[x]=mid; if(l<mid) son[x][0]=build(l,mid-1,x); if(r>mid) son[x][1]=build(mid+1,r,x); up(x); return x;}int kth(int k){ int x=o,tmp; while(1){ pb(x); tmp=sz[son[x][0]]+1; if(tmp==k) return x; if(tmp>k) x=son[x][0]; else k-=tmp,x=son[x][1]; }}void rotate(int x){ int y=f[x],w=son[y][1]==x; son[y][w]=son[x][w^1]; if(son[x][w^1]) f[son[x][w^1]]=y; if(f[y]) son[f[y]][son[f[y]][1]==y]=x; f[x]=f[y],son[x][w^1]=y,f[y]=x; up(y);}void splay(int x,int w){ int s=1,i=x,y;a[1]=x; while(f[i]) a[++s]=i=f[i]; while(s) pb(a[s--]); while(f[x]!=w){ y=f[x]; if(f[y]!=w){if((son[f[y]][0]==y)^(son[y][0]==x)) rotate(x);else rotate(y);} rotate(x); } if(!w) o=x; up(x);}int main(){ read(n),read(m); o=build(0,n+1,0); while(m--){ read(x),read(y); x=kth(x),y=kth(y+2); splay(x,0),splay(y,x); revl(son[y][0]); up(y),up(x); } for(int i=2;i<=n;i++) printf("%d ",val[kth(i)]); printf("%d",val[kth(n+1)]); return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: japanese xxxxhd| 久久草草影视免费网 | 久久精品视频16 | 中文字幕在线观看免费视频 | 欧美日韩夜夜 | 亚洲国产午夜精品 | 亚洲网站免费观看 | 蜜桃一本色道久久综合亚洲精品冫 | 九九热精品免费 | 精品国产看高清国产毛片 | 妇子乱av一区二区三区 | 鲁人人人鲁人人鲁精品 | 嫩嫩的freehdxxx | 激情小说区| 国产精品久久久久久一区二区三区 | 日韩激情 | 玖草在线资源 | 欧美日韩一区三区 | 日韩不卡一区二区 | 成人精品一区二区三区中文字幕 | 青草久久久久 | 欧美成年人视频 | 国产色片在线观看 | 亚洲福利视 | 久久亚洲网 | 关键词 | 国产精品成人av片免费看最爱 | 爽毛片| 最新国产毛片 | 精品一区二区在线播放 | 国产精品久久久久永久免费 | 香蕉成人在线视频 | 久久久久久久久国产 | 日本羞羞的午夜电视剧 | www.99xxxx.com| 国产影院在线观看 | 视频一区 在线 | 最新中文字幕在线视频 | 国产精品久久久久久久久久10秀 | 在线成人免费观看www | 亚洲精品久久久久久久久久久 |