1 条题解
-
0
树状数组逆变换 题解
思路
把 看成模 意义下的线性变换。它的矩阵是下三角矩阵,且对角线全为一,所以逆变换唯一存在。
令 ,其中 是单位变换, 是严格下三角部分。树状数组区间的包含关系使任意长度超过 的严格下降链不存在,因此 ( 足够大,且 时取 已足够)。
做法
子任务 1 每次用前缀和在线性时间内求出 ,连续执行 次,复杂度 。
子任务 2 显式构造 的稠密矩阵,并用矩阵快速幂计算其 次幂,复杂度 。
满分算法使用负二项式展开:
$$F^{-k}=(I+N)^{-k}=\sum_{j\ge0}(-1)^j\binom{k+j-1}{j}N^j.$$系数递推为
对一个向量应用 时,先用前缀和在线性时间计算 ,再减去 。依次求出 并按系数累加即可。
正确性证明
的对角线全为一,所以 严格下三角且幂零。形式幂级数 的系数正是 ;把 替换为幂零线性算子 后级数有限终止,并满足 。因此算法输出的 必满足 。
复杂度
最多计算 个 的幂向量,每次 ,总时间复杂度 ,空间复杂度 。
- 1
信息
- ID
- 1451
- 时间
- 3000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 0
- 上传者