楼主: 〇〇

请用pl/sql解欧拉计划594题:菱形划分法

[复制链接]
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
41#
发表于 2017-4-9 07:19 来自手机 | 只看该作者
我也是打算把单元格分成四小块,但我不管中心点,只需每块用二进制的一位来表示占用与否。每个子图占用哪些块都是可以实现算好的。做这个拼图不需要任何图形学方面的知识。

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
42#
 楼主| 发表于 2017-4-9 13:12 | 只看该作者
newkid 发表于 2017-4-9 07:19
我也是打算把单元格分成四小块,但我不管中心点,只需每块用二进制的一位来表示占用与否。每个子图占用哪些 ...

做出来了,O1,1用1秒,O2,1用几分钟。
http://www.ituring.com.cn/article/274780

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
43#
 楼主| 发表于 2017-4-9 13:15 | 只看该作者
newkid 发表于 2017-4-9 07:19
我也是打算把单元格分成四小块,但我不管中心点,只需每块用二进制的一位来表示占用与否。每个子图占用哪些 ...

什么叫不管中心点?
我的判断点在四边形完全是为了判断2个形状是否相容。
不用它,不知道怎么判断某个小三角形归属哪个形状

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
44#
 楼主| 发表于 2017-4-9 19:19 | 只看该作者
我感觉如果做出一个占八边形一半的图形,就可以利用对称找到其他的

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
45#
发表于 2017-4-9 22:24 | 只看该作者
在这种坐标体系中,子图和其占用区域存在着简单的对应关系,几个CASE就能搞定,用不着复杂的计算。你是不是在拼图过程中有很多实时计算,用的时间有点长。(3,2)能算出来吗?
把大图分成两半的思路是难以实现的,因为你得随时保证分界线(不一定是直线)也是对称的形状,还得论证所有分法都存在一条形状对称的中线。

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
46#
 楼主| 发表于 2017-4-10 05:42 来自手机 | 只看该作者
我觉得22 31都要1小时,主要就是递归时选下一轮允许形状时有数组bitand

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
47#
 楼主| 发表于 2017-4-10 08:44 | 只看该作者
本帖最后由 〇〇 于 2017-4-10 08:47 编辑
〇〇 发表于 2017-4-10 05:42
我觉得22 31都要1小时,主要就是递归时选下一轮允许形状时有数组bitand

N=6 几分钟了,还只输出前几个,据说总数是832
julia> include("d:\\testfun1.txt")
1 7 13 19 21 22 26 32 45 47 49 53 59 72 74 76 80 85 99 101 103 106
1 7 13 19 21 22 26 32 45 47 49 53 59 73 76 80 85 95 100 101 103 106
1 7 13 19 21 22 26 32 45 47 49 53 59 73 76 80 86 89 100 101 103 108
1 7 13 19 21 22 26 32 45 47 49 53 59 73 76 81 83 86 100 101 105 108
1 7 13 19 21 22 26 32 45 47 49 53 59 73 77 78 81 86 100 102 105 108

隔了一会
又输出
1 7 13 19 21 22 26 32 46 49 53 59 69 75 76 80 85 95 100 101 103 106
1 7 13 19 21 22 26 32 46 49 53 59 69 75 76 80 86 89 100 101 103 108
1 7 13 19 21 22 26 32 46 49 53 59 69 75 76 81 83 86 100 101 105 108
1 7 13 19 21 22 26 32 46 49 53 59 69 75 77 78 81 86 100 102 105 108
1 7 13 19 21 22 26 32 46 49 53 60 63 75 76 80 89 91 100 101 103 108
1 7 13 19 21 22 26 32 46 49 53 60 63 75 76 81 83 91 100 101 105 108
1 7 13 19 21 22 26 32 46 49 53 60 63 75 77 78 81 91 100 102 105 108
1 7 13 19 21 22 26 32 46 49 54 57 60 75 76 83 85 91 100 101 105 108
1 7 13 19 21 22 26 32 46 49 54 57 60 75 77 78 85 91 100 102 105 108
1 7 13 19 21 22 26 32 46 50 51 54 60 75 78 80 85 91 100 102 105 108

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
48#
 楼主| 发表于 2017-4-10 09:23 | 只看该作者
〇〇 发表于 2017-4-10 08:44
N=6 几分钟了,还只输出前几个,据说总数是832
julia> include("d:\\testfun1.txt")
1 7 13 19 21 22  ...

修改了fun函数,把里面的map改为循环,减少了临时对象创建,就快了
N=6,输出832
6.728173 seconds (9.54 M allocations: 236.604 MiB, 0.81% gc time)

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
49#
 楼主| 发表于 2017-4-10 09:53 | 只看该作者
〇〇 发表于 2017-4-10 09:23
修改了fun函数,把里面的map改为循环,减少了临时对象创建,就快了
N=6,输出832
6.728173 seconds (9. ...

N=7
julia> include("d:\\testfun2.txt")
91.759213 seconds (200.35 M allocations: 5.154 GiB, 1.21% gc time)
10036

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
50#
 楼主| 发表于 2017-4-10 10:36 | 只看该作者
〇〇 发表于 2017-4-10 09:53
N=7
julia> include("d:\\testfun2.txt")
91.759213 seconds (200.35 M allocations: 5.154 GiB, 1.21 ...

O2,2
julia> include("d:\\testfun2.txt")
28.107125 seconds (56.34 M allocations: 1.436 GiB, 1.29% gc time)
5383

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表