• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
kter
博客园 首页 新随笔 联系 订阅 订阅 管理

02 2013 档案

 
fence rail的剪枝
摘要:这是USACO4.1.2,题目大意是将几个给定木料尽可能多的切割成指定大小和个数的木块,由于没有指定顺序,很直观是搜索问题,木料N<=50,木块数R<=1023,单是搜索一次就有50^1023种可能,数字相当恐怖,必然要剪枝。如果切割成K个指定木块能够成功,那么将这K个木块中最大的一个换成另外一个小一点的也必然能成功,那么显然要用贪心,先将木块升序排列,如果前K个可以切割成功,前K-1个也必然成功。那么此时二分优化也是很明显的了,最多搜索LOG(R)次即可。但这些并没有改变单次搜索的复杂度,我在这里用了两个剪枝1。如果切剩的废料总数比(木料总数-前K个木块总数)还大,停止搜索。但是 阅读全文
posted @ 2013-02-19 18:31 kter 阅读(225) 评论(0) 推荐(0)
 

公告


博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3