算法设计与分析第四章作业

软工2103王文朗 2022-11-21 23:32:58
  1. 7-2 程序存储问题

    分数 40

     

    全屏浏览题目

     

    切换布局

    作者 陈晓梅

    单位 广东外语外贸大学

    设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储的程序数。

    输入格式:

    第一行是2 个正整数,分别表示文件个数n和磁带的长度L。接下来的1行中,有n个正整数,表示程序存放在磁带上的长度。

    输出格式:

    输出最多可以存储的程序数。

    输入样例:

    在这里给出一组输入。例如:

    6 50 
    2 3 13 8 80 20
    

    输出样例:

    在这里给出相应的输出。例如:

    5
    

    代码长度限制

    16 KB

    时间限制

    400 ms

    内存限制

    64 MB

 

贪心算法策略:为了得到更多的程序,我们可以先根据所给的长度进行排序,然后从最短往最长依次做出选择,这样就可以得到贪心算法的策略了

贪心的性质证明:假设按照此种贪心算法得到的不是最优解,则存在一种解,使得其满足题目所给的条件,当其所剩余的量s[n]=a+s[n-1]假设s[n]为最优解,假设s[n-1]不是最优解,而A是最优解,则一定有A+a>s[n-1]+a,则一定会有A+a>s[n],与假设矛盾,所以假设失效。

对贪心算法的理解:

贪心算法就是要做到能贪就贪

 

...全文
84 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

434

社区成员

发帖
与我相关
我的任务
社区描述
广东外语外贸大学信息科学与技术学院
算法 高校
社区管理员
  • brisksea
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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