概念:
最优化问题:
贪婪算法思想:
近似算法:
习题:
17.1
相当于做商,然后对余数进行循环,除数越大商越小(少)
有很重要的一点: 就是前面一个选择不能小于后面一个选择的两?
17.2
加一条: 从有剩余的硬币中选择最大的
17.3
要选出 u-x美元 v-y 美分
然后用此规则 ,因为2xn 大于等于2xn-1 所以是最优解
17,4
自行编写 ,判断就行了
17.5
不能 因为12*2大于14
比如24 如果贪婪 14+5+5 等于3 而最好是2
17.6
直觉。。。 不会证明
17.7
1) 因为总时间不变 限定条件为 <=T 优化函数为 n ,n为进行任务的个数,
使n为最大时为最优解
因为总T不变 nt=T 当t变小时n最大 ,所以此贪婪法则取的是最优选择
2)
先递增排序任务 ,再用一个最小堆存进行任务
17.8
一样的贪婪策略,相当于容积翻倍 ,是最优解
17.9
意思是,执行序列的第i项活动时,前面的活动时间也要累加上
1)
39/4
2)
15/2
3)
27/4
4)最小堆排序呗
5)因为 Ti=Ti-1+Si (序列在前面的,倍数越多)
所以保证前面每一个最小 ,则最终结果一定最小
17.10-11
是最小ACT,道理应该差不多
NlogN
17.12
总数➗height 呗 不足也算一个
一定是最少的
17.13-17.16
思路书上有,太麻烦了 懒得打
17.17
1) 10+10+85
2) 一定是啊,因为可以装一部分
18
能保证,从平均价值最高的开