竞赛讨论区 > D题的一种构造方法
头像
Chielo
发布于 2018-07-28 20:38
+ 关注

D题的一种构造方法

容易发现 sum(ci) = sum(ri) = sum(ai,j)

对于 n = 2 (右边和下面是行和与列和):
 1  1  2
 0 -1 -1
 1  0

现在想办法加两行两列让 sum(ci), sum(ri) 都加一,
那就加两行,和分别为 n, -(n - 1);加两列,和分别为 n - 1, -(n - 2)。(由 n=2 中行和与列和的情况猜想)

 ?  ?  ?  ?  4
 ?  ?  ?  ? -3
 ?  ?  1  1  2
 ?  ?  0 -1 -1
 3 -2  1  0
->
 1  1  1  1  4
 ?  ?  ?  ? -3
 ?  ?  1  1  2
 ?  ?  0 -1 -1
 3 -2  1  0
->
 1  1  1  1  4
 ?  ? -1 -1 -3
 ?  ?  1  1  2
 ?  ?  0 -1 -1
 3 -2  1  0
->
 1  1  1  1  4
 0  ? -1 -1 -3
 ?  ?  1  1  2
 ?  ?  0 -1 -1
 3 -2  1  0
->
 1  1  1  1  4
 0 -1 -1 -1 -3
 1 -1  1  1  2
 1 -1  0 -1 -1
 3 -2  1  0

第一行因为和要成为 n,所以只能全为 1;根据前一个迭代的矩阵中,可以知道第二行末尾的几个元素的情况。
剩下的元素,对于 n=4,5个方程,6个未知数,那把第二行的第一个元素强行弄成 0,剩下的就可以直接得到了。

一般化上述的做法,可以对偶数的 n 迭代,每次扩充前一个矩阵,新的一行放 1;
新的另一行选个新列放个 0,放 0 的新列剩下的放 1,剩下的放 -1。


全部评论

(1) 回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐