以前觉得贪心是个算法,就像DFS这种有固定套路的,后来才发现,其实贪心也是一种算法思想,没有固定的模板,它常常与动态规划思想结合在一起。
贪心算法的定义:
个人理解:对于当前问题,找到问题的局部问题,并获得局部最优解,其次向着全局最优解拓展。贪心,顾名思义就是能多拿就多拿这种思想,每次找到满足局部条件的最好解。但这样并不意味着全局最优,这个还需要后期的优化。贪心的例子通过下面的书上例题来展示。
用贪心有好处也有坏处,什么时候用贪心是需要牢记的,这个使用贪心满足的性质和动态规划差不多。
总结两个就是:①最优子结构②无后效性
关于贪心的具体例子:
参考B站视频:https://space.bilibili.com/24014925/video?keyword=%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92
因为动态规划和贪心的思想还是很类似的,同时上面这个视频的例子涉及到的会议问题其实也用到了贪心的思想。
更多的例题:
hdu 2037 活动安排问题
hdu 2570 最优装载问题