1.
我觉得贪心算法就是从局部出发,每一步都是求当前状况的最优解,就是最优子结构性质,不过重点是找出最优解的方法。例如,会场安排问题:选出最早结束的场次。
2.
汽车加油问题,就是如果每一程的都能走的话,就是每一程都小于或等于满油能走的路程,就可以开始贪心算法了,核心是一开始满油的汽车开始走,走到每一站都检查一下自己当前的油是否能够走完下一站,不够就加油,这就是最优子结构,每一步都是当前的最优解。
for(int i=0;i<=n+1;i++)
{
fuel=fuel-m[i];
if(fuel<m[i+1])
{
count++;
fuel=k;
}
}
3.
贪心算法其实跟动态规划思路差不多,就是先要找出递归式或者是贪心思路,我在第二题那个会场安排问题中卡了很久,因为之前一道例题是讲的节目安排问题,一定的时间呢内安排最多的节目,而这道题是会场安排问题,一定的节目数量,用最少的会场他们安排,节目一定要排完。一开始我是在例题的基础上,再加一个没给安排上的节目照着最早结束时间这个思路全拍,直至全部排完。可是最后发现不对,因为贪心策略出了问题,应该是按照开始时间递增来排序。这个点我很是不明白。不是应该每一场尽可能安排多的活动(按结束时间递增排序)吗?
原文:https://www.cnblogs.com/idjy/p/10041590.html