hujunhua 发表于 2012-6-9 18:02:06

格点矩形对角顶点的Qt( )之和相等

由70#的公式 Qt(x,y) 易得,如果点阵中的4个格点A、B、C、D构成矩形ABCD, 那么
Qt(A)+Qt(C)=Qt(B)+Qt(D)

对于水平矩形,显然无奇,奇妙的是对于斜置矩形也成立。

wayne 发表于 2012-6-9 20:16:17

69# hujunhua
我那个程序效率挺低的。
借用zgg的思路,效率可大大提高:n = 7;
t0 = Flatten, 1];
t1 = Flatten, {k, 2, n}], 3];
t2 = Map -> Last[#] &, Transpose[{t0, Range]}]];
t3 = Union];
data = Tally -> First[#] &, Transpose[{t0, Range]}]], 1]]

hujunhua 发表于 2012-6-10 17:55:53

我手工推导的公式总是与此有出入,也不知道錯在哪里。有了理论公式,就可以直接绘图了,不用操心效率问题了。 n = Input["lease Input n"]
Table,Point[{x, y}],Text,{x,y}]},ImageSize->30],{x,0,n},{y,0,n}]//Grid

hujunhua 发表于 2012-6-10 18:26:41

不过绘图程序也有快慢,下面这个绘图程序就比上面程序的出图快些。
n = Input["Please input n"]
t = Flatten, 1];
Graphics[{PointSize,Point,Text](n-#[])+#[](n-#[]),White,16],#] &/@t},ImageSize ->36n]

KeyTo9_Fans 发表于 2012-6-10 19:10:59

Fans可否给出n=10时,r=51的数据?
zgg能给出r=52的方案:

3955                               3956
wayne 发表于 2012-6-9 09:18 http://bbs.emath.ac.cn/images/common/back.gif

方案如下:

zgg___ 发表于 2012-6-11 09:59:21

周末回家算了一下,得到一些新的结果。程序和结果的例子见附件的nb文件,是8.0版的。
因为是随机算法,故引入了rp值(人品值),大家有兴趣也可以比拼一下rp,呵呵。

zgg___ 发表于 2012-6-11 10:15:12

fans的75层的结果,用76层的算法是永远也算不出的,用76层的贪心策略所得到的结果的图像的中间都是空的(淡红的),因此无法产生这个更优的结果。

wayne 发表于 2012-6-11 11:51:36

75# KeyTo9_Fans
很好奇fans的这个图案是怎么得到的?
别说自己rp值很高哈

wayne 发表于 2012-6-11 11:58:04

77# zgg___
hujunhua 在 37# 就提到了这种策略。
后来考虑到局部最优 不一定能保证全局就是最优的, 所以就没有写代码实现。

zgg___ 发表于 2012-6-11 12:09:23

呵呵,看了一下,正是hujunhua 37层的方法。
页: 1 2 3 4 5 6 7 [8] 9 10 11
查看完整版本: 格点正方形,可否发现一个新数列?