本人刚学splay,莫名T9个点请dalao求教

P3285 [SCOI2014] 方伯伯的OJ

此题已经做了从下午做到现在了始终10分
by 13813812138xixixixi @ 2018-08-22 21:59:16


``` int find(int x){ int now = root; while(1){ if(a[a[now].ch[0]].size >= x) now = a[now].ch[0]; else{ int temp = a[a[now].ch[0]].size + a[now].cnt; if(temp >= x){ splay(now, root);root = now; return x - a[a[now].ch[0]].size; } x -= temp;now = a[now].ch[1]; } } } ``` ``` return x - a[a[now].ch[0]].size; ``` 这里由于now已经旋转到根导致**a[a[now].ch[0]].size**改变
by 13813812138xixixixi @ 2018-08-24 10:43:28


上一页 |