信息
- ID
- 1601
- 时间
- 2000ms
- 内存
- 1024MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者
不妨令 A1≤A2。
两数之和的位数只能是 A2 或 A2+1,其他 A3 的答案为零。先计算和仍为 A2 位的有序对数 L:若 A1=A2,令 p=10A1−1,则 L=4p(8p+1);若 A1<A2,则 $L=9\cdot10^{A_1-1}\left(9\cdot10^{A_2-1}-(11\cdot10^{A_1-1}-1)/2\right)$。这些式子来自固定 X1 后,合法 X2 构成的连续区间求和。所有 (X1,X2) 共 81⋅10A1+A2−2 对,所以 A3=A2 时答案为 L,A3=A2+1 时答案为总数减 L。
用快速幂在模意义下计算十的幂,并用 2 的逆元处理除法,单组时间复杂度为 O(log(A1+A2)),空间复杂度为 O(1)。