Loading

20220404 刷题日记

P7143

注意超贡献的应用,我们考虑一个区间的贡献,由于线段树的结构不难想到分治结构,答案是左边的贡献,右边的贡献,和跨中点的贡献,我们只需要考虑跨中点的贡献,剩下的左右递归用记忆化即可。我们考虑如何计算这个贡献,我们考虑设 \(l_n\) 表示长度为 \(n\) 的区间,所有前缀贡献,\(r_n\) 表示所有后缀贡献,那么我们考虑跨中点的贡献实际上是左边的后缀和右边的前缀贡献和,只需要分别乘上他们出现的次数,注意最后可能需要 \(-1\),目的是去掉整个区间被算重的部分,同理,\(l_n,r_n\) 也是可以递归计算的。

posted @ 2022-04-04 20:13  hyl天梦  阅读(21)  评论(0编辑  收藏  举报