人生第一道splay不出所料是一道裸題,一道水題,一道2k**都不到的題
1 #include 2int root,n=0
,n,p,q;
3int fa[100001],c[100001][2],size[100001],sp[100001];4
void rot(intx)5
12void rots(int x,int
g)13
18void insert(int
x)19
25void del(int
x)26
37int rank(int
x)38
43while
(y)44
if(x>sp[y])
45 ans+=size[c[y][0]]+1,y=c[y][1
];46
else y=c[y][0
];47
return ans+1;48
}49int num(int
x)50
59int pre(int
x)60
68int nex(int
x)69
77int
main()
7891
return0;
92 }
貌似所有該犯的問題都犯了一遍了,,,感覺自己邏輯不夠嚴謹啊
難道要背板???那麼長感覺下不來啊
BZOJ3224 普通平衡樹 splay
題目在這裡 題意 讓你實現一棵樹,實現 插入,刪除,查詢x數的排名,查詢排名為x的數 求x的前驅 前驅定義為小於x,且最大的數 求x的後繼 後繼定義為大於x,且最小的數 這道題最開始我用treap過了,今天打了乙個splay題解。treap題解 include include include usi...
BZOJ3224 普通平衡樹 SPlay
誒乙個中午種了兩棵樹 寫平衡樹之前一定要明確陣列的定義,想好每個過程怎麼寫之後再開始動手寫 想清楚每個操作返回的是結點的編號還是結點的值 誒又是wall編譯救了我 include include define inf 1 30 define n 200050 using namespace std ...
bzoj 3224 普通平衡樹 (Splay)
題目 思路 splay模板題 includeusing namespace std define maxn 1000000 f i 表示i的父結點,ch i 0 表示i的左兒子,ch i 1 表示i的右兒子,key i 表示i的關鍵字 即結點i代表的那個數字 cnt i 表示i結點的關鍵字出現的次數...