01 2023 档案
摘要:无聊时看到的小寄巧。主要用于pushdown难写时。 以区间加,区间和为例。一般的写法是开权值数组val与懒标记lazytag,每次如果懒标记不为0就往下传。 现在我们把标记固定,push_up取消。想一想这会有什么影响。 push_up取消影响不大,因为我们可以迅速算出当前节点的权值在这次修改中的
阅读全文
摘要:记一下每天做的题,并不一定都是好题。 以后没心情写题时就会来这里记录写过的题。每道题大概也就写个三五行,如果有值得写的题会另外开博客的。 1.12 P3714 [BJOI2017]树的难题 考虑点分治。路径权值和可以拆成俩点到根节点的权值和。但是如果最顶上的颜色相同就会被合并为一个区间,要减去。于是
阅读全文
摘要:
第一题 区间加,单点询问 首先讲讲数列分块是个啥。 我们把数列分成一个个块,每个数属于块中的一部分。 对于整块,我们有复杂度优秀的操作(一般是 ),对于散块,我们暴力操作。 如果块长为 ,那么复杂度就是区间中散块长度+整块个数,复杂度为 。
阅读全文

摘要:点分治和点分树真的是各种意义上的好东西。不仅好玩,而且写完一看自己的代码5.几kb:“wc我今天搞了好多学习”。 在做关于树的题时,我们会遇到一类题型:题目跟路径有关,你找到两个点当端点求贡献,然后你发现这两个点当形成路径跨过根时,相比没跨过根,求贡献的方法不一样。 详情可参考洛谷模板题:点分治1
阅读全文