文件保存问题(华中地区建模邀请赛题)

watersoulcgy 2009-04-24 10:07:08

在出发去度假之前,你希望将你的一些最重要的文件备份到软盘上。每个空白软盘的容量是1.44MB。你需要备份的16个文件的大小分别为:46KB,55KB,62KB,87KB,108KB,114KB,137KB,164KB,253KB,364KB,372KB,388KB,406KB,432KB,461KB,851KB。假定你无法使用压缩软件,但软盘数量足够,那么应如何将这些文件分配到每一张软盘上才能使使用的软盘数目最少?
...全文
546 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
thesecretblue 2009-05-24
  • 打赏
  • 举报
回复
学习
acdbxzyw 2009-05-07
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 litaoye 的回复:]
应该属于线性规划的问题,数据量不大的情况下(比如这道题),强搜配合剪枝也是个办法!

首先可以用贪心得到一个近似解(也可以用DP得到一个局部最优的近似解),比如需要4张盘,这样的话,最优解一定不会超过4张,
再算一下加和,最优解最少也需要3张盘。如果近似解也只需要3张盘,那么近似解就是一个最优解。
每个文件的状态不超过4个(在1|2|3|4号盘中),这样的话,共4^16种可能(数据量还是比较大),需要递归配合剪枝来降低计算量…
[/Quote]

对 数据量小的时候就该用简单的算法。
绿色夹克衫 2009-04-27
  • 打赏
  • 举报
回复
应该属于线性规划的问题,数据量不大的情况下(比如这道题),强搜配合剪枝也是个办法!

首先可以用贪心得到一个近似解(也可以用DP得到一个局部最优的近似解),比如需要4张盘,这样的话,最优解一定不会超过4张,
再算一下加和,最优解最少也需要3张盘。如果近似解也只需要3张盘,那么近似解就是一个最优解。
每个文件的状态不超过4个(在1|2|3|4号盘中),这样的话,共4^16种可能(数据量还是比较大),需要递归配合剪枝来降低计算量,
剪枝的方法很多,网上的资料也很多,LZ可以自己搜索一下,可能还需要配合一下HASH来降低复杂度,最后计算量应该在可接受的范围之内。
思路比较朴实,效率不高,不知道是否能满足LZ的需要。
liuyawei 2009-04-27
  • 打赏
  • 举报
回复
恩,和运筹学好像有关系。
lvjaio5241 2009-04-26
  • 打赏
  • 举报
回复
up
wangdechun99611 2009-04-26
  • 打赏
  • 举报
回复
这是一个整数规划问题,不是简单的编程序。
  • 打赏
  • 举报
回复
又是此题,发了好多次了..
看飞雪写.
Steve 2009-04-25
  • 打赏
  • 举报
回复
这题让我回想起DOS时代,考一个小游戏都得一叠盘.
HelloAldis 2009-04-25
  • 打赏
  • 举报
回复
问题可变为 将十六个数 构造成小于等于1.44M的 尽量可能大的数
好像有的递归的意思 假设最大的数是 Num1 话从16个中选n1个数
那第二个数就是 Num2从16-ni个数选出n2个数
。。。直到所有的数都被选完
呵呵 我说的是一种思路不一定能实现 只是分析分析 希望高手支招
楼上的说得有点不明白啊
baihacker 2009-04-24
  • 打赏
  • 举报
回复
先二分枚举,再回溯,注意枝剪.
http://acm.pku.edu.cn/JudgeOnline/problem?id=1011
在搜索的时候,一定要注意...上面有个类似的题.
baihacker 2009-04-24
  • 打赏
  • 举报
回复
强行搜索...

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧