社区讨论

正确性证明

P7521[省选联考 2021 B 卷] 取模参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@mhjcy979
此快照首次捕获于
2025/11/04 00:32
4 个月前
此快照最后确认于
2025/11/04 00:32
4 个月前
查看原帖
观察到一种人类智慧做法,在此对之正确性进行证明。
只考虑前 ll 大的互不相同的数作为模数(ll 为常数)的情况,这一部分一定能够得出最优解。
此做法成立的充分条件是:
  • 一个长度为 ll 的值域在 [1,108][1,10^8] 中的单调递减数列 a1,a2,...,ala_1,a_2,...,a_l,存在三个互不相等的数 i,j,ki,j,k 满足 (ai+aj)modakal(a_i+a_j)\mod a_k\ge a_l
考虑证明上述结论。采用反证法。
假设对于任意 i,j,ki,j,k 都有 (ai+aj)modak<al(a_i+a_j)\mod a_k< a_l
发现,对于任意 i,ji,j,都有 a1ai+aja_1 \le a_i+a_j。否则,若 a1>ai+aja_1 > a_i + a_j,则 (ai+aj)moda1=ai+aj>al(a_i+a_j)\mod a_1=a_i+a_j > a_l,矛盾。
也就是说,a1,a2,...,al1a_1,a_2,...,a_{l-1} 必须全部大于等于 a12\frac{a_1}{2}
那么我们可以得出,i[1,l3]\forall i\in [1,l-3],都有 (ai+1+ai+2)modai=ai+1+ai+2ai<al(a_{i+1}+a_{i+2})\mod a_i=a_{i+1}+a_{i+2}-a_i< a_l
bi=aialb_i=a_i-a_l,则 bi+1+bi+2<bib_{i+1}+b_{i+2}< b_i。那么,也有 bi>2bi+2b_i > 2b_{i+2}
若取 l=100l = 100 则有 b1>248×bl3248b_1 > 2^{48}\times b_{l-3}\ge 2^{48},显然已经远远超出值域 10810^8。矛盾!
所以原命题成立,此做法正确性得证。
证毕。

回复

3 条回复,欢迎继续交流。

正在加载回复...