TOAD 13 - The Voting Problem

今天的题非常漂亮,但是证明实在是不忍直视。这题解写的是有多蛋疼啊 →_→

Problem

有一个 nn 元函数 f(x1,x2,,xn)f(x_1, x_2, \dots, x_n) ,其中每个参数的定义域以及函数的值域均为 {0,1,2}\{0, 1, 2\} 。且 ff 满足,若 x1y1,x2y2,,xnynx_1 \neq y_1, x_2 \neq y_2, \dots, x_n \neq y_n ,则 f(x1,x2,,xn)f(y1,y2,,yn)f(x_1, x_2, \dots, x_n) \leq f(y_1, y_2, \dots, y_n)

是否对于每个满足条件的 ff ,都存在一个 jj ,使得 ff 的函数值只与第 jj 个参数相关?

Solution

还真就是的。尽管我第一反应还不相信 →_→

我这证明真心不敢恭维。如果你没看懂的话,这里 是原题 solution 。如果还是没看懂的话,那就算了吧。我觉得这个结论比证明漂亮多了 →_→

下文中为了叙述简洁,我直接用 x\vec{x} 表示依次填入 x1,x2,,xnx_1, x_2, \dots, x_n ,即 f(x)f(\vec{x}) 等价于 f(x1,x2,,xn)f(x_1, x_2, \dots, x_n)

对于 nn 使用数学归纳法。

n=1n = 1 时,结论显然正确。

nn 时成立,我们要证明 n+1n + 1 时也成立。考虑是否存在一个 nn 维向量 x\vec{x} ,使得对于任意的 1i31 \leq i \leq 3 ,会产生 3 个不同的 f(x,i)f(\vec{x}, i)

如果存在这么一组 xx ,则再考虑另一组 nn 维向量 y\vec{y} 满足 1in,xiyi\forall 1 \leq i \leq n, x_i \neq y_i 。对于任意 1i3,1j3,ij1 \leq i \leq 3, 1 \leq j \leq 3, i \neq j ,我们均有 f(x,i)f(y,j)f(\vec{x}, i) \neq f(\vec{y}, j) ,如果固定 jj 枚举 ii ,则 f(x,i)f(\vec{x}, i) 会取遍其余 2 个数,可知 f(x,j)=f(y,j)f(\vec{x}, j) = f(\vec{y}, j) 。这样我们发现 ff 的值与前 nn 个数是无关的,只与第 n+1n + 1 个参数相关,结论成立。

如果不存在,则对于每个 nn 维向量 x\vec{x} ,均存在一对 i,ji, j 满足 f(x,i)=f(x,j)f(\vec{x}, i) = f(\vec{x}, j) 。我们定义 g(x)g(\vec{x}) 表示其中一个 f(x,i)f(\vec{x}, i) (即 g(x)g(\vec{x}) 有若干种可能的取值)。现在我们要证明 令 g(x)g'(\vec{x})nn 时的一个满足要求的 ff

注意到,对于两个完全不同的向量 x,y\vec{x}, \vec{y} ,我们有 f(x,i)=f(x,j)f(\vec{x}, i) = f(\vec{x}, j) ,且存在 mim \neq imjm \neq j 使得 f(y,m)=g(x)f(\vec{y}, m) = g(\vec{x}) 。不妨设 mjm \neq j 。我们有 f(x,i)f(y,m)f(\vec{x}, i) \neq f(\vec{y}, m) ,即 g(x)g(y)g(\vec{x}) \neq g(\vec{y})

对于 nn 个元素来说, gg 是一个满足要求的函数。同样原理,我们可以把 g(x)g(\vec{x}) 其中一个函数值作小小的修改,即

g(x)={g(x)ifxz f(z,k)otherwiseg'(\vec{x}) = \begin{cases} g(\vec{x}) & \textnormal{if} \vec{x} \neq \vec{z} \ f(\vec{z}, k) & \textnormal{otherwise} \end{cases}

这个函数仍然满足要求。

由归纳法知, gg' 的函数值只与其中一个参数相关,则易知所有可能的 gg' 都是一样的。这表示对于任意一个 iif(x,i)f(\vec{x}, i) 只与 x\vec{x} 相关。Q.E.D.