Splay求调,前两个点T了,照着模板写的

P3369 【模板】普通平衡树

`grank` 要判定有没有右儿子,如果没有右儿子了就 `splay` 上去,直接返回。 ```cpp if (!rs(cur)) { if (cur) splay(cur); return res + 1; } ```
by _Skyfire_ @ 2024-01-10 15:23:40


@[_Skyfire_](/user/381949) orz,谢谢,回关
by saumtam @ 2024-01-10 15:38:46


@[_Skyfire_](/user/381949) 和楼主挂在一个地方了,想问下应该加到哪?
by zxh923 @ 2024-01-21 20:24:05


@[zxh923](/user/795784) 查排名
by _Skyfire_ @ 2024-01-21 20:28:34


@[_Skyfire_](/user/381949) 这个知道,是rank的哪?
by zxh923 @ 2024-01-21 20:32:49


@[zxh923](/user/795784) ```cpp int rnk(int x) { int res = 0, cur = rt; while (1) { if (x < val[cur]) cur = ls(cur); else { res += siz[ls(cur)]; if (val[cur] == x) return splay(cur), res + 1; res += cnt[cur]; + if (!rs(cur)) { + if (cur) splay(cur); + return res + 1; + } cur = rs(cur); } } } ```
by _Skyfire_ @ 2024-01-21 20:35:20


@[_Skyfire_](/user/381949) 好的,谢谢啦
by zxh923 @ 2024-01-21 20:37:37


都是被$OI-Wiki$模板坑了的可怜孩子qwq
by No0Chenquanlin @ 2024-01-26 19:39:12


|