摘要: 这道题正解是KD Tree或者一个奇妙的递归思路。因为我太菜了,这里只能提供一种部分分做法。 首先对树进行dfs,对于每个节点$u$,维护出其dfs序和深度,这里用$dfn_u$表示其dfs序,$dep_u$表示其深度,$end_u$表示离开子树的时间($end_u = dfn_u + siz_u$ 阅读全文
posted @ 2020-03-04 15:03 锦依卫Lijilai 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 维护一个数据结构,支持区间覆盖,区间取phi,区间查询和。 区间取phi,理论分析,对于一个偶数取phi变为原来的一半,奇数取phi变为偶数。所以最多log次,就可以将一个数变成1。而phi(1)=1,所以可以通过维护区间最大值,若一段区间最大值已经是1,那么就不必修改了,这个时候时间复杂度为$O( 阅读全文
posted @ 2020-03-04 14:53 锦依卫Lijilai 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目要求维护一个数据结构,支持区间依次加斐波那契数列,区间求和。 一开始我想的是利用斐波那契数列前缀和公式,然后下传,类似于维护一个等差数列,但是很快我就发现这个思路有问题。 但是这个思路其实有用,我们考察一下斐波那契数列的通项公式: $f_n = \frac{1}{\sqrt{5}} [(\fra 阅读全文
posted @ 2020-03-04 10:47 锦依卫Lijilai 阅读(194) 评论(0) 推荐(0) 编辑