TOAD 24 - Fair Shares?

Problem

有两个多重集 A,BA, B ,每个多重集内有 nn 个元素,所有元素都是 1 到 nn 之间的整数。

求证:一定存在两个多重集 aA,bBa \subseteq A, b \subseteq B ,使得 xax=yby\sum_{x \in a} x = \sum_{y \in b} y

Solution

如果 xAx=yBy\sum_{x \in A} x = \sum_{y \in B} y 那么找到一组解了。否则不妨设 xA<yB\sum_{x \in A} < \sum_{y \in B} 。令 pp 为序列化 AA 后的前缀和, qq 为序列化 BB 后的前缀和。我们有对于每个 ii ,均存在一个 jj 满足 pi=qj+Ri(0Ri<n)p_i = q_j + R_i \quad (0 \leq R_i < n) 。如果某个 RiR_i 为 0 则找到一组解了,否则 1in,0<Ri<n\forall 1 \leq i \leq n, 0 < R_i < n ,所有可能的 RiR_i 只有 n1n - 1 种,而 RRnn 个元素。因此必定存在 Rl=Rr(l<r)R_l = R_r (l < r) 。由 RR 的定义知: plqjl=Rl=Rr=prqjrp_l - q_{j_l} = R_l = R_r = p_r - q_{j_r} ,可得 prpl=qjrqjlp_r - p_l = q_{j_r} - q_{j_l} 。由 ppqq 的定义可以发现找到一组解了。

nonsense

TeX 里 \in 是 \in,那么 \ni 是啥呢……居然是 \ni →_→

想起了 bash 里面 if 的结束是 fi 。