pku1190 cake

         生日蛋糕这么经典的搜索剪枝我以前都懒得做,难怪去年不给我省一……

         题目大意应该都很清楚,问题就是剪枝怎么减。

         首先用上下界剪枝——如果当前剩余层数所能形成的最小体积都比剩余体积大就应该减掉。同理,如果能形成的最大体积比剩余体积小也剪掉,只不过后者我懒得花时间写了,直接进行下一个剪枝。

         接着呢是最优性剪枝——如果当前剩余层数所能形成的最小表面积比当前的最优解大,显然应该剪掉。

         然后我们再结合一些不等式的小知识优化优化吧!

         对于剩余体积 vleft 和剩余层数 dep 我们能得到如下的废话关系:

 

         它有什么用呢?当 取得最小值时, 取得最大值,这样我们就确定了 的上界!

         最后还有一个小优化!我们发现体积公式和面积公式挺有联系啊!我们尝试着约分一下就得到了这样的东西:

 

         用不等式的传递性推导出来的这个剪枝十分给力!而且只需要短短的一句话!

         当然解题报告看似简单,实际操作中是需要一定思考的!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值