1 条题解
-
0
题解
思路推导
直接枚举三个下标需要 ;枚举 后, 至多有一个候选值,可以降到 。满分范围中 达到 ,还需要把固定 后的二元一次不定方程在常数时间内计数。
固定 ,令 。问题变为统计
它的所有整数解构成一个等差参数族,因此只要求出参数的合法整数区间即可。
做法
令 。若 ,当前 没有贡献。否则同时除以 :
此时 。用扩展欧几里得求 在模 意义下的逆元,得到满足 的一个 ,再令
全部整数解可以写成
其中 为整数。把 与 分别转成 的上下界,两个闭区间求交后即可得到当前 的解数。枚举所有 并累加。
正确性证明
当 时,线性组合 必为 的倍数,故无解。当 时,约分后的 互质,模方程唯一确定 关于 的剩余类,所以 是一个整数解。
二元一次不定方程的任意两个解之差满足 。由 互质可知必存在整数 ,使得 、。因此上述参数式不遗漏也不重复任何整数解。
最后,算法仅统计同时满足 的参数 ,所以固定 的贡献恰好正确。对所有 求和后,每个合法三元组按其唯一的 被统计一次,答案正确。
复杂度分析
扩展欧几里得耗时 ;之后每个 只做常数次整数运算。总时间复杂度为 ,空间复杂度为 。
- 1
信息
- ID
- 975
- 时间
- 2000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者