434
社区成员
发帖
与我相关
我的任务
分享设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储的程序数。
磁带还能容纳得下程序,就优先把程序占用磁盘长度最短的先放进磁盘
假如{l2,l3,l4}是能放进磁盘最多数量的程序数,而此时l1是占用磁盘长度最短的,那么l1替换掉l2,l3,l4其中一个都仍然满足最优解,{l1,l2,l3}也能构成最优解,故先把占用磁盘长度最短的先放进磁盘贪心选择策略成立
贪心选择算法一般用来求解最优解的题目,在求解过程中注重局部,当前的最优解,而要得到正确的最优解就要找到正确的贪心策略,找贪心策略有时候需要直觉,有些题的贪心策略还是比较难找的,还要用反证法证明自己选择的贪心策略是正确的。