Problem
有两个多重集 A,B ,每个多重集内有 n 个元素,所有元素都是 1 到 n 之间的整数。
求证:一定存在两个多重集 a⊆A,b⊆B ,使得 ∑x∈ax=∑y∈by
Solution
如果 ∑x∈Ax=∑y∈By 那么找到一组解了。否则不妨设 ∑x∈A<∑y∈B 。令 p 为序列化 A 后的前缀和, q 为序列化 B 后的前缀和。我们有对于每个 i ,均存在一个 j 满足 pi=qj+Ri(0≤Ri<n) 。如果某个 Ri 为 0 则找到一组解了,否则 ∀1≤i≤n,0<Ri<n ,所有可能的 Ri 只有 n−1 种,而 R 有 n 个元素。因此必定存在 Rl=Rr(l<r) 。由 R 的定义知: pl−qjl=Rl=Rr=pr−qjr ,可得 pr−pl=qjr−qjl 。由 p 和 q 的定义可以发现找到一组解了。
nonsense
TeX 里 ∈ 是 \in,那么 ∋ 是啥呢……居然是 \ni →_→
想起了 bash 里面 if 的结束是 fi 。