贪心算法与其弊端 贪心算法又称贪婪算法,见文思意,贪心贪心,无非就是想办法寻找最好的方法,对应到算法上即将一个问题分解成若干个小问题,每步选取当前最优解,贪心算法的弊端在于它并非对所有的问题都有效,当问题不具有最佳子结构或是贪心策略有后效性时,得出的结果可能就并不正确。相应的问题有背包问题,由此也可 ...
分类:
其他好文 时间:
2017-09-14 23:50:36
阅读次数:
213
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2460 网上很多题目都没说这个题目的证明,只说了贪心策略,我比较愚钝,在大神眼里的显然的策略还是想证明一下才安心……所以这里记录一下证明过程。 贪心策略:按魔力值从大到小排序,从大往小往线性基 ...
分类:
其他好文 时间:
2017-09-12 00:39:01
阅读次数:
178
http://acm.hdu.edu.cn/showproblem.php?pid=5884 题意:有个屌丝设计了一个程序,每次可以将k个数组进行合并,代价为这k个数组总的长度之和。现在另外一个屌丝要他最后合并成一个数组时的总代价不能超过T。求k的最小值。 思路:贪心策略是长度越小的肯定先进行合并。 ...
分类:
其他好文 时间:
2017-09-06 14:35:37
阅读次数:
170
网传常用五大算法:贪婪算法,动态规划算法,分治算法,回溯算法以及分支限界算法 贪心算法 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选 ...
分类:
编程语言 时间:
2017-09-01 11:21:18
阅读次数:
223
1、一般的策略迭代优化的方法 1)策略评估 2)策略改善 2、model free的策略迭代优化的方法 基于v(s)的优化需要MDP,基于Q的优化不需要,所以策略是 1)使用Q函数策略评估 2)使用厄普西隆贪心策略优化 缺点:非常慢 修正方案:不用积累一批episode再优化;每个episode都优 ...
分类:
其他好文 时间:
2017-08-14 10:06:35
阅读次数:
260
大概题意如下:有两个玩具,分别拥有a1的电量和a2的电量;两个玩具每分钟耗电量为2单位,如果有一个或两个的电量下降到1以下就停止游戏;我们还有一个充电器,每分钟只能给一个玩具净充电1单位;问游戏时间长度。 解法很简单,取贪心策略:每次充电给电量较低的玩具充电。 题目做不出来往往是踩了这个坑:如果两个 ...
分类:
其他好文 时间:
2017-08-07 10:18:22
阅读次数:
137
有一类问题在区间上的选择问题有如下特征: 1. 每个选择之间不交叉 2. 区间元素可以在某个选择中,也可以不在任何选择中 3. 最大化选择的个数 对于这类问题,我们可以考虑采取贪心策略。具体来说,对于区间从左到右考虑,每次发现一个可行的组合就选择,保证右区间尽可能小。 Codechef CHEFPR... ...
分类:
其他好文 时间:
2017-08-02 00:29:14
阅读次数:
138
贪心算法 一、基本概念: 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必 ...
分类:
编程语言 时间:
2017-07-31 18:58:11
阅读次数:
153
简介: 求最短路径算法中最具代表性的是Dijkstra算法。 Dijkstra算法的思想是基于贪心策略的。 概述其过程是通过设置顶点集合S并不断地做贪心选择来扩充集合。 贪心选择的标准是每次都选择从源节点到该节点的路径长度最短。 难点: 网络上博客中大多数人写的最短路径算法大多都是只能寻找到最短的一 ...
分类:
编程语言 时间:
2017-07-27 22:45:36
阅读次数:
436
题意:给定一个序列,让你构造出一个序列,满足条件,且最大。条件是 选取一个ai <= max{a[b[j], j]-j} 析:贪心,贪心策略就是先尽量产生大的,所以就是对于B序列尽量从头开始,由于数据比较大,采用桶排序,然后维护一个单调队列,使得最头上最大。 代码如下: ...
分类:
其他好文 时间:
2017-07-27 20:30:17
阅读次数:
177