找回密码
 欢迎注册
楼主: 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)$

对于水平矩形,显然无奇,奇妙的是对于斜置矩形也成立。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-6-9 20:16:17 | 显示全部楼层
69# hujunhua
我那个程序效率挺低的。
借用zgg的思路,效率可大大提高:
  1. n = 7;
  2. t0 = Flatten[Table[{i, j}, {i, n}, {j, n}], 1];
  3. t1 = Flatten[Table[Table[{{i - 1 + x, y}, {k - 1 + x, i - 1 + y}, {k - i + x, k - 1 + y}, {x, k - i + y}}, {i, k}, {x, n - k + 1}, {y,  n - k + 1}], {k, 2, n}], 3];
  4. t2 = Map[First[#] -> Last[#] &, Transpose[{t0, Range[Length[t0]]}]];
  5. t3 = Union[Map[Sort, t1 /. t2]];
  6. data = Tally[Flatten[t3 /. Map[Last[#] -> First[#] &, Transpose[{t0, Range[Length[t0]]}]], 1]]
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2012-6-10 17:55:53 | 显示全部楼层
我手工推导的公式总是与此有出入,也不知道錯在哪里。有了理论公式,就可以直接绘图了,不用操心效率问题了。
  1. n = Input["lease Input n"]
  2. Table[Graphics[{PointSize[20],Point[{x, y}],Text[Style[n+x(n-x)+y(n-y),White,16],{x,y}]},ImageSize->30],{x,0,n},{y,0,n}]//Grid
复制代码
13.png

评分

参与人数 1鲜花 +8 收起 理由
wayne + 8 壮观!

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2012-6-10 18:26:41 | 显示全部楼层
不过绘图程序也有快慢,下面这个绘图程序就比上面程序的出图快些。
  1. n = Input["Please input n"]
  2. t = Flatten[Table[{i, j}, {i, 0, n}, {j, 0, n}], 1];
  3. Graphics[{PointSize[1/(n + 2)],Point[t],Text[Style[n+#[[1]](n-#[[1]])+#[[2]](n-#[[2]]),White,16],#] &/@t},ImageSize ->36n]
复制代码

13.png

评分

参与人数 1威望 +8 金币 +8 贡献 +8 经验 +8 鲜花 +8 收起 理由
wayne + 8 + 8 + 8 + 8 + 8 牛!还能自适应调整大小呢

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-6-10 19:10:59 | 显示全部楼层
Fans可否给出n=10时,r=51的数据?
zgg能给出r=52的方案:

3955                               3956
wayne 发表于 2012-6-9 09:18


方案如下:
square_free_10_49.PNG

评分

参与人数 2鲜花 +16 收起 理由
wayne + 8 fans总能带来惊喜!
hujunhua + 8 没有孑遗正方形,无处下“偷手”

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-6-11 09:59:21 | 显示全部楼层
周末回家算了一下,得到一些新的结果。程序和结果的例子见附件的nb文件,是8.0版的。
因为是随机算法,故引入了rp值(人品值),大家有兴趣也可以比拼一下rp,呵呵。

更新的结果汇总。

更新的结果汇总。

fan-3.nb

71.23 KB, 下载次数: 5, 下载积分: 金币 -1 枚, 经验 1 点, 下载 1 次

代码和一些结果。

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-6-11 10:15:12 | 显示全部楼层
fans的75层的结果,用76层的算法是永远也算不出的,用76层的贪心策略所得到的结果的图像的中间都是空的(淡红的),因此无法产生这个更优的结果。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-6-11 11:51:36 | 显示全部楼层
75# KeyTo9_Fans
很好奇fans的这个图案是怎么得到的?
别说自己rp值很高哈
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-6-11 11:58:04 | 显示全部楼层
77# zgg___
hujunhua 在 37# 就提到了这种策略。
后来考虑到局部最优 不一定能保证全局就是最优的, 所以就没有写代码实现。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-6-11 12:09:23 | 显示全部楼层
呵呵,看了一下,正是hujunhua 37层的方法。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-5-4 00:41 , Processed in 0.047043 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表