贪心算法总结

来源:互联网 发布:白金数据 东野圭吾 编辑:程序博客网 时间:2024/05/22 00:09

第一套题主要用贪心算法来解决问题,贪心算法简单来说就是从局部最优解,进而求得整体最优解,其中难点就是选择贪心标准,贪心标准的选择选的巧妙问题就会变的很简单,比如第一题搬桌子的题,就是把房间转化为对应的走廊号,问题就简化了很多。

贪心算法的题目有的可以很简单的看出来,常见典型的题有,背包问题,最优装载问题,活动安排问题(例如Problem E,就是安排节目顺序),还有钓鱼问题(真的很难=_=||)。

例如Problem R是典型的装载问题,其实一开始就是跟着感觉写代码,把所有情况模拟出来就行了,把每个盒子都填满就行了呗,写完之后感觉太low了,没什么技术含量,就去看看网上大牛写的,没想到,我这种方法就是贪心,贪心标准就是把盒子填满,其实贪心顾名思义,就是每次都贪心求得问题最优解,那么到最后就是最优解。

有的题目很难看出是贪心题目,或者贪心标准很难去选择,这时候就需要,将问题转化,例如Problem L,就是将点转化为坐标上的线段,进而转化成类似活动的安排问题,还有

Problem F,虽然题目看起来是两个问题,第一问花的纸币数最少,第二问花的纸币数最多,其实第二个问题换一种表述方式就是,剩的纸币最少,这样两个问题成了纸币最少的问题,只需要同一个贪心标准就可以了。

总之贪心标准的选择是重点与难点,问题的转化能力需要多多看一些经典例题,并汲取其中巧妙的思想才可以。

0 0
原创粉丝点击