20220311 刷题日记
全局平衡二叉树
可以维护询问链,进行链操作,子树操作,复杂度都是一个 \(\log\)
这里只讲解思路,不放代码。
对整颗树轻重剖分,然后对每条重链,建一棵二叉树,然后若干二叉树之间连轻边,轻边不过原来如何,统一由该二叉树父亲连向儿子,且认父不认子,类似 lct,每棵二叉树递归建,保证左右儿子的轻儿子子树大小是差不多的,这样才能维护好整颗树高 \(log\) 的性质,然后这颗二叉树中序遍历是深度从小到大。
递归建树即可,操作只需要暴力往上跳,一条重链左儿子打标记。
讲解博客放在这里:链接
P4211
考虑到深度可以变成我们对于 \(l\) 到 \(r\) 中的每一个数,向根路径加 \(1\),然后查询某点到根的和,就可以知道答案了。
考虑离线操作,询问。时间复杂度两个 \(\log\),用上面的数据结构可以做到一个 \(\log\)。
THUPC2019模拟
一共13个题,琛哥切了3个,我切了2个,fys切了1个。