1 条题解
-
0
题解
思路推导
从 个不同元素中选出 个并排成一个环,先排成线性序列再消去旋转的重复,可得
长度为 的连续整数中恰有一个数在模 意义下为 。把这个数中的因子 与分母约去后,其余 个因子在模 意义下恰为 ,于是
$$C(i,j)\bmod j=\left((j-1)!\left\lfloor\frac{i}{j}\right\rfloor\right)\bmod j。$$若 是大于 的合数,则 含有足够的质因子使其被 整除;唯一的合数例外是 。若 为质数,由 Wilson 定理有 。因此只有质数和 会产生非零贡献。
做法
先用筛法求出不超过最大询问值的所有质数。对于每个质数 ,当 位于区间 时,它对当前内层和的贡献恒为
在差分数组上对这些整段区间做加法。 时的贡献为 ,同样按长度为 的区间加入差分数组。
对差分数组做一次前缀和,可得每个 的内层和;再做一次前缀和即可得到所有询问的答案。
正确性证明
上述约分说明,对任意 ,原式中的一项等于 。合数阶乘整除性质和 Wilson 定理又说明,除质数与 外的所有 的贡献均为零,而算法对质数与 计算的区间常值恰等于该式。因此第一次前缀和得到的正是固定 的全部 项之和。第二次前缀和把 到询问值 的这些内层和相加,故输出等于题目所求。
复杂度分析
设最大询问值为 。筛法复杂度为 ;所有质数的分段更新总数为 。总时间复杂度为 ,空间复杂度为 。
- 1
信息
- ID
- 1450
- 时间
- 3000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者