以前没卡过去,今天突发奇想重新交了一下就过了(
\(O(n \log^2 n)\) 过百万实锤(
不难想到链分治,对每个点开一棵平衡树维护轻儿子,不难发现轻儿子的个数和应当是 \(O(n \log n)\) 级别的。
修改可以直接暴力树剖 \(O(\log^2 n)\) 草,查询是大常数 \(O(\log n)\)。
建议用 Treap。
代码:
1 |
|
以前没卡过去,今天突发奇想重新交了一下就过了(
\(O(n \log^2 n)\) 过百万实锤(
不难想到链分治,对每个点开一棵平衡树维护轻儿子,不难发现轻儿子的个数和应当是 \(O(n \log n)\) 级别的。
修改可以直接暴力树剖 \(O(\log^2 n)\) 草,查询是大常数 \(O(\log n)\)。
建议用 Treap。
代码:
1 | #include <vector> |
Gitalking ...