Gravatar
超级傲娇的AC酱
积分:646
提交:244 / 660
这是一个极为有趣的证明。
嗯,。。刚刚我妈打电话把我批了一顿,大半夜了还不回家。。我先给个简述吧;
易证填数存在贪心规则,Max应和Min在一起。依次排序。[否则存在num>Min,num+Max>Min+Max]
填数应从对角线开始,以S型向对面填充{贪心规则可证Num1+1+Num2<Num1+Num2+n+1,Num1+Num2+2n+1=Num1+n+Num2+n+1}。可以发现式子中的对称性[Right1+Right2=Left1+Left2等价于Right1+Right2+1=Right1-n-1+Right2+n(同时满足Max填充和Min填充)]和层次[S型填充{贪心}]都会表现出来。
最大值出现在中心区域附近,
加之对称性,可得
Ans=Max-(2n+1)(int)/2+Min+n/2=Max+Min+n/2=N*N+N/2+1
介于直接证出来了,所以我就没有按照习惯测试各种算法的效率。但是还是大致说一下:
枚举O(n!)
DP?这。。思路不是很清==想过某种空间爆表的记忆化搜索。
贪心O(n^2)
数学证明O(1)

题目 652 数字填充
2013-12-01 09:42:32
Gravatar
Strawberry
积分:311
提交:134 / 267
求大神证明过程

题目 652 数字填充
2013-11-28 15:35:46