Loading

20220311 刷题日记

全局平衡二叉树

可以维护询问链,进行链操作,子树操作,复杂度都是一个 \(\log\)

这里只讲解思路,不放代码。

对整颗树轻重剖分,然后对每条重链,建一棵二叉树,然后若干二叉树之间连轻边,轻边不过原来如何,统一由该二叉树父亲连向儿子,且认父不认子,类似 lct,每棵二叉树递归建,保证左右儿子的轻儿子子树大小是差不多的,这样才能维护好整颗树高 \(log\) 的性质,然后这颗二叉树中序遍历是深度从小到大。

递归建树即可,操作只需要暴力往上跳,一条重链左儿子打标记。

讲解博客放在这里:链接

P4211

考虑到深度可以变成我们对于 \(l\)\(r\) 中的每一个数,向根路径加 \(1\),然后查询某点到根的和,就可以知道答案了。

考虑离线操作,询问。时间复杂度两个 \(\log\),用上面的数据结构可以做到一个 \(\log\)

THUPC2019模拟

一共13个题,琛哥切了3个,我切了2个,fys切了1个。

posted @ 2022-03-11 21:45  hyl天梦  阅读(27)  评论(0编辑  收藏  举报