设整数 。设正整数 和 满足
求证:存在集合 的非空真子集 以及集合 的非空真子集 ,满足
这是解答题,请在纸上写出完整过程。写完后对照解答给自己评分。
先独立尝试,再展开工具说明与想法来源。
模总和取余相当于在圆环上记录累计长度的位置。两个前缀差同余后,沿固定方向走出的循环区间和取唯一位于零与总和之间的正代表;鸽巢原理负责保证碰撞。
想法从哪来:先试普通前缀和碰撞,数量只有两列长度之和,未必超过总和;要用上题设中的长度乘积,就改看两列前缀的所有差。差可能为负且范围较宽,而两列总和相等,提示把每列首尾接成圆环,按共同总和取余。 这样有长度乘积个前缀差,却只有共同总和种余数,碰撞不可避免。不过同余还不是目标的实际相等,需要把余数解释成循环区间的和。正整数条件保证同一列不满一圈的前缀互不相同,故碰撞时两边下标都改变,所得循环区间非空且非全集;它们的和都在零和总和之间,因而同余就是相等。
把两列正整数各自首尾相接成圆环。用不含完整一圈的前缀和之差模总和构造 个剩余类; 总和小于 ,鸽巢原理迫使两个差同余。两列前缀各自严格递增,保证碰撞时两个下标都 真正改变,于是同余量就是两边某个非空真循环区间的共同和。
记共同总和为
定义
其中 。由于各项均为正整数,
且 也在 内严格递增。
考虑 个模 的剩余类
因为 ,由鸽巢原理,存在两个不同的下标对 使
若 ,则 ;因两者都在 且前缀和互异, 必有 ,矛盾。因此 ;同理 。于是
的共同剩余数既不是 ,又在 中。
把 按循环顺序排列。剩余数 正好等于从下标 循环走到 所经过各项之和; 因 ,这些下标构成 的非空真子集。记它为 。 同理, 是某个非空真循环区间的 项之和,记其下标集为 。 两个实际和都等于上述同一个 到 之间的剩余数,故
只取到 阶前缀,确保两下标不同时所得循环区间不会是完整一圈;正整数条件 保证同一列前缀在模 下互异,从而排除了碰撞只改变一侧下标的可能。
两列正整数总和相同且目标是寻找相等子集和时,可把每列视为循环序列,并考察两列前缀差 模共同总和。若前缀差的数量超过模数,碰撞就给出两个循环区间的同一正和;严格正性同时 负责保证区间非空且非全集。
构造mn个模总和的前缀差后,由重余类找到两列中的非零循环区间和;还需排除相同下标以保证非空且非全集。
已记下,谢谢!