贪心

贪心容易写,也容易错……

贪心算法指从问题的初始状态出发,通过若干次的贪心选择而得出最优值(或较优解) 的一种解题方法。
贪心思想的本质是每次都形成局部最优解,换一种方法说,就是每次都处理出一个最好的方案。只能用来求某些最大或最小解问题;
如果有贪心性质存在,那么一定要采用贪心算法。因为它容易编写,容易调试,速度极快,并且节约空间。
几乎可以说,它是所有算法中最好的。
然而,贪心算法并不总是正确的,因为并不是每次局部最优解都会与整体最优解之间有联系,往往靠贪心生成的解不是最优解。一般情况下,构造出贪心策略后要进行证明。
贪心还是一种思想。 运用贪心思想,主要是为了分析出问题的一些本质,或者分析出低效算法的一些冗余。
合理地运用贪心思想,可以帮助运用其他算法解决问题。
能确定某些问题的可行解的范围,特别是给搜索算法提供了依据

大体范围:最优化问题(具有最优子结构),和dp有相似的地方
可能结合排序,堆,二分等

一.调整性问题(考虑相邻两元素,互相交换对其他无影响,且交换能得到较优解)
[Usaco2007 Demo] Cow Acrobats
[Usaco2007 Jan] Protecting the Flowers

二.暴力扫过去后堆维护(发现新来的比过去的优,就删掉原来的,加入当前的)

[JSOI2007] 建筑抢修
[BZOJ&&Poi2012] Warehouse Store
[Usaco09Open]

三.结合二分,判断可行性问题

四.部分贪心(部分指对问题影响影响较小的部分),其他用正确的算法

五.随机化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值