CF 417 D 题解
题意
构造一个 \(n \times m\) 的正整数组成的矩形 \(A_{i,j}\),设 \(row_i = \sum_{j=1}^m a_{i,j},col_j = \sum_{i=1}^n a_{i,j}\),要求满足 \(\sum_{i=1}^n row_i^2,\sum_{i=1}^m col_i^2\) 都是平方数。
题解
一步都想不到我自闭了。
一个想法是先考虑一行的情况再看看能否能推广:
现在我们的问题是构造一个序列 \(a_i\),满足 \(\sum_{i=1}^n a_i^2\) 是平方数。注意到 \((n-2)^2 = n^2-4n+4 = n^2-4(n-1) = n^2-\sum_{j=2}^n 2^2\),但是构造的矩阵不能有负数,移项可以发现有 \(n^2 = (n-2)^2+\sum_{j=2}^n 2^2\),所以可以构造序列 \(a_1 = n-2,a_2 = a_3 = \ldots = a_n = 2\)。
一种更好的推法是考虑一个定理:如果一个正整数 \(x\) 能被若干个数的平方和表示出,那么 \(x^2\) 也一定能被表示出。
证明:
所以如果我们构造出 \(b_i\) 满足 \(x=\sum_{i=1}^n b_i^2\),那么我们就可以令 \(a_1 = \sum_{i=1}^{n-1}b_i^2-b_n^2,a_i = 2b_ib_n\) ,就可以得到 \(x^2 = (\sum_{i=1}^n a_i^2)^2\)。
所以说我们取任意 \(b_1 = b_2 = \ldots = b_n = 1\),就可以得到 \(a_1 = n-2,a_2 = a_3 = \ldots = a_n = 2\)。
但是注意 \(n \leq 2\) 的时候要特判一下因为不能有 \(\leq 0\)。
然后我们考虑如何推广到矩阵上:观察一下其中一个判定的式子:
发现中间那个东西很难拆,但是我们如果设 \(c_{i,j} = a_{i} \times b_j\),可以得到:
显然满足条件,于是就做完了。
最后一步这样构造的原因可能是:首先整体乘一个数不会影响答案,现在的主要矛盾是和不相等,也就是
我们可以通过乘上某些数来解决这个问题,其实就是给你两个数 \(a,b\) 让你随便找一个 \(c,d\) 满足 \(ac = bd\)。这里是令 \(c=b,d=a\),所以和就是 \(\sum_{i=1}^n \sum_{j=1}^m a_ib_j\) 观察可得 \(c_{i,j} = a_i b_j\)