社区
数据结构与算法
帖子详情
求算法:切割矩形问题
cmckliao3
2008-04-13 01:30:31
切割矩形
[题目描述]
把一个a*b 矩形切割成尽量少的正方形。每次可以选择一个矩形,沿着水平
或者垂直线把它切成两部分(不能转弯)。
[输入] incise.in
两个整数a, b(1<=a,b<=100)
[输出] incise.out
最少的正方形个数
[样例输入]
5 6
[样例输出]
5
...全文
958
12
打赏
收藏
求算法:切割矩形问题
切割矩形 [题目描述] 把一个a*b 矩形切割成尽量少的正方形。每次可以选择一个矩形,沿着水平 或者垂直线把它切成两部分(不能转弯)。 [输入] incise.in 两个整数a, b(1<=a,b<=100) [输出] incise.out 最少的正方形个数 [样例输入] 5 6 [样例输出] 5
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zxqwin74
2011-11-05
打赏
举报
回复
http://blog.csdn.net/zxqwin74/article/details/6933562
深度抽象
2011-10-29
打赏
举报
回复
数学可以解决,我曾经见到过这样的问题,应该叫 最小覆盖
AndyZhang
2011-10-27
打赏
举报
回复
这个需要学习啊
dragon37ng
2011-10-24
打赏
举报
回复
[Quote=引用 1 楼 c1053710211 的回复:]
动态规划应该可以解决
对于一个边长为m,n的长方形,d[m,n]是目标函数
那么d[m,n]=min(d[m-p,n]+d[p,n],d[m,n-l]+d[m,l]) 0<p<m,0<l<n
不过时间复杂度好像....
提供个思路,占个沙发,等其他人解决
[/Quote]
这个状态方程就相当与把每种情况都讨论了一下,跟搜索有什么区别?
会超时么?貌似要顺序,能逆推么。。。我是沙茶,求神牛详细讲解下 。。。
UltraBejing
2008-05-01
打赏
举报
回复
有问题请先GOOGLE,BAIDU
meiZiNick
2008-05-01
打赏
举报
回复
支持搂主,收藏
大王派我去巡山
2008-04-15
打赏
举报
回复
精确一些.状态值共有O(m*n)个,每次状态转移的时候计算量<(m+n)
因此整体的复杂度是O(m*n*(m+n)),不超过两百万次。
大王派我去巡山
2008-04-15
打赏
举报
回复
说的是,贪心策略并不合适,应该是动态规划!
状态转移方程是 d[m,n]=min(d[m-p,n]+d[p,n],d[m,n-l]+d[m,l]) 0<p<m,0<l<n 没错
C1053710211
2008-04-15
打赏
举报
回复
to dlyme
如果是贪心的话,对于给出的例子6,5,这样分割
(6,5)->(5,5)+(5,1)->(5,5)+5*(1,1)是六个正方形
但是可以
(6,5)->(6,3)+(6,2)->2*(3,3)+3*(2,2)是5个正方形
所以贪心不是最优解,
这个题虽然用动态规划是O(n^2*m^2),的时间复杂度,
但是m,n都是小于100的数,应该可以容忍时间上的缺陷。
p0303230
2008-04-14
打赏
举报
回复
[Quote=引用 2 楼 dlyme 的回复:]
贪心算法:
如果a==b,那已经是满足要求的矩形,不用再切;
否则的话(假设a>b),则切成b*b和(a-b)*b两块;
如果(a-b)*b不是矩形,按照同样的办法切下去...
[/Quote]
大王派我去巡山
2008-04-14
打赏
举报
回复
贪心算法:
如果a==b,那已经是满足要求的矩形,不用再切;
否则的话(假设a>b),则切成b*b和(a-b)*b两块;
如果(a-b)*b不是矩形,按照同样的办法切下去...
C1053710211
2008-04-13
打赏
举报
回复
动态规划应该可以解决
对于一个边长为m,n的长方形,d[m,n]是目标函数
那么d[m,n]=min(d[m-p,n]+d[p,n],d[m,n-l]+d[m,l]) 0<p<m,0<l<n
不过时间复杂度好像....
提供个思路,占个沙发,等其他人解决
利用遗传
算法
解决
矩形
排样
问题
,具有可视化的界面 两个
利用遗传
算法
解决
矩形
排样
问题
,具有可视化的界面,输入数据为含有
矩形
的长和宽的文本文件,输出的结果以可视化的形式显示出来
利用模拟退火
算法
和遗传
算法
进行
矩形
算法
排样优化
利用模拟退火
算法
和遗传
算法
进行
矩形
算法
排样优化
基于最低水平线方法与遗传
算法
的
矩形
件排样优化
算法
.rar
本代码采用遗传
算法
和最低水平线法对板材
切割
问题
进行
求
解,效果较好
矩形
切割
,用的是递归
算法
。
矩形
切割
,c++实现,主要是通过递归实现。且程序支持绘图过程,值得看看。
剩余
矩形
匹配
算法
在
矩形
件排样中的应用
矩形
件排样优化一般是指在给定的板材上按一定要
求
排放尽可能多的所需
矩形
件,使排放区域的板材废料尽可
能少,以提高板材的利用率。这是许多行业迫切需要解决
的
问题
, 如以金属材料作为主要原材料的制造行业, 玻
璃、塑料、家具等制造行业。如果
矩形
件板材排料采用手
工试算或凭经验下料和排料,那么原材料利用率不高,成
本增加且工作效率低, 尤其是企业进行大规模定制生产
时,手工试算排料几乎不可能。因此,提高板材的利用率
和板材排料的速度是许多行业亟待解决的
问题
,毛坯的下
料生产是产品零部件制造过程中的第一道工序,其组织方
式和排样效率对产品的生产周期和成本有很大的影响。板
材排样优化
问题
实际上是一个十分困难的
问题
数据结构与算法
33,027
社区成员
35,335
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章