20220324刷题笔记

P6156

纯莫比乌斯反演的题目,注意非常规积性函数线性筛的推导。

P6222

上面的加强版,卡常+整数分块就能过掉。

P5443

这里简单插一嘴 Kruskal 重构树的定义以及性质,因为发现之前的博客和网上的博客矛盾地方太多,这里写一点正确一点的。

一个无向图做 Kruskal 过程中,如果两个点不在同一结合,我们新建一个节点,然后把这个节点在并查集上的根,把这两个根连到我们新建的节点上。

点权一样是边权,这样做的话,这棵树是二叉树,其次是大根堆。然后从一个点开始走小于某条边的边能到达的所有路径应该是这个点的一个深度最浅的祖先,这个祖先的子树内的所有儿子。

本来以为这个题目和 Kruskal 有关系,不过我们关注到 Kruskal 是一个静态的东西,在上面做不了修改,如果修改的话就要弃用了。

分块,一开始本来开始往 CDQ 方面想,但是 Kruskal 上的修改做不了。

分块,之前的块的修改全修改,对于每一个块,我们把所有不在块内修改的边拿出来排序,把块内的询问拿出来排序,对于一个询问,暴力修改之前的修改,然后查询答案。注意复杂度的块长。注意要考虑在一个块内可能对某一条边有多次修改,所以要一起处理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章