1 条题解
-
0
题解
思路
一次前缀和会把序列的生成函数乘上 。连续做 次前缀和后, 对第 项的系数是 。把下标向后平移 ,就得到题目中的 。
做法
小规模
先生成数组,再对每个 直接枚举 并计算组合数,复杂度 。
此时 ,维护普通前缀和与二次前缀和即可在线求出。
满分算法
维护 层前缀和 。读到 时,依次令 ,并对 令 。
所有加法对 取模。此时 正是 。若该下标不超过 ,将它乘以下标后异或进答案。
正确性说明
做 次前缀和后, 在位置 的系数为 。令 ,该系数变成 ,与 的定义完全一致。由于 时组合数为零,未被在线过程读取的后缀项也不会影响对应答案。逐个异或全部合法下标即得到所求值。
复杂度
满分算法时间复杂度 ,额外空间复杂度 ;小规模算法为 。
- 1
信息
- ID
- 1388
- 时间
- 5000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者