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。


全部评论
点赞 回复 分享
发布于 2018-07-28 23:34

相关推荐

诨号无敌鸭:恭喜佬,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务