「OI笔记」2021.8.16
Day7
¶上午
¶P4074 糖果公园
树上带修莫队,在一期夏令营的时候没有解决,而是直接淦SP10707,就是因为糖果公园这道题带修,而那时刚刚学莫队,不太熟练。今天上午就再次学习树上莫队,然后搞掉这道题。 树上莫队的核心就是将一棵树通过欧拉序变成一条链,从而转变而在链上的操作。当然,由于欧拉序的一些特性,我们需要对LCA做一些特殊工作。我习惯用树剖来求LCA。 在树剖的时候我们可以一起吧欧拉序给求了,然后考虑特殊情况。经过模拟,我们发现若起点不是两个节点的LCA的话,在欧拉序上是不会把LCA的贡献个算进去的。所以就要手动把LCA给怼进去。
¶下午
下午搞主席树,像这种可持久化的东西我一直都不是很懂。今天再次学习,感觉和动态开点线段树很像。其实build和que操作和动态开点线段树应该是一样的,就是在update中有更改左右儿子的动作(语言不清。
1 |
|
还有就是,主席树的空间是要开到
[N<<5]
这好像也是动态开点线段树的大小吧(雾
¶晚上
晚上去折腾克鲁斯卡尔重构树,也就是P4197 Peaks 有了主席树的基础,这道题明显就好搞多了。 今天的做题记录:
撒花~
「OI笔记」2021.8.16
https://学习.fun/oi-note/2021-8-16/