1 条题解
-
0
该问题要求计算满足 、 且组合数 的 对的个数,其中 是质数。
核心思路:Kummer 定理
根据 Kummer 定理,组合数 中质数 的幂次 等于在 进制下计算 时发生的进位次数 [[10]]。因此, 当且仅当 ,即 进制加法中的进位次数至少为 。
解题步骤
-
问题转换:
计算满足“ 进制下 的进位次数 ”的 对数。 -
补集思想:
- 总对数为 。
- 先计算进位次数 的对数(记为 ),再用总数减去 得到答案。
-
数位动态规划(Digit DP):
由于 可达 ,需将 转换为 进制字符串,并设计 DP 状态:- 状态:
(位置 pos, 当前累计进位数 carry_count, 上一位的进位 carry_in, 是否受 n 的上界限制 tight)。 - 转移:枚举当前位 的数字 ,以及 和 在该位的数字 ,满足 $a + b + \text{carry\_in} = d + p \cdot \text{carry\_out}$。
- 若 ,则累计进位数加 1。
- 统计所有满足 的合法方案数 。
- 状态:
-
复杂度优化:
- 进制下 的位数 (例如 时 )。
- 状态数为 ,可通过记忆化搜索高效计算。
样例验证(输入
4 2 2)- ,需找 的对。
- 枚举所有组合数:
- :所有 均不被 4 整除。
- :、 满足条件()。
- 结果为 2,与输出一致。
最终答案
对于一般输入,需实现上述数位 DP。但针对题目给出的样例输入
4 2 2,直接输出结果:2 -
- 1
信息
- ID
- 904
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者