Moving Tables
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 19278 Accepted Submission(s): 6582
Problem Description
The famous AC...
分类:
其他好文 时间:
2014-08-12 17:21:04
阅读次数:
191
特性
做出的是局部最优的,但不一定是整体最优。
往往比动态规划效率高,虽然可能求不到最优解,可能会求得最优解的近似解。
分类:
其他好文 时间:
2014-08-10 21:32:50
阅读次数:
333
贪心算法 贪心算法,也称贪婪算法的基本思想是逐步获取最优解。 贪心算法在求解最优化问题时,从初始阶段开始,每一个阶段总是做一个使局部最优的贪心选择,不断将问题转化为规模更小的子问题。 也就是说,贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义...
分类:
其他好文 时间:
2014-08-10 15:40:40
阅读次数:
189
顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优解。如单源最短路经问题,最小生成树问题等。在一些情...
分类:
其他好文 时间:
2014-08-09 18:12:58
阅读次数:
338
Dijkstra算法是解单源最短路径问题的贪心算法。其基本思想是,设置顶点集合点集合S并不断地做贪心选择来扩充这个集合。一个顶点属于集合S当且仅当从源到该顶点的最短路径长度已知。初始时,S中仅含有源。设u是G的其一顶点。把从源到u且中间只经过S中顶点的路称为从源到u的特殊路径,并用数组Distance记录当前每个顶点所对应的最短特殊路径长度。Dijkstra算法每次从V-S中取出具有最短特殊路长度...
分类:
其他好文 时间:
2014-08-09 13:31:37
阅读次数:
271
首先这道题的节点数太多了,达到10^5,所以不能用数组模拟啊,肯定TLE,所以用贪心算法,读取第一个结点,搬到第二个结点,剩下的和第二个结点合并,一起搬到第三个结点。。。。。。这个算法很好,每次看成只是邻居间买卖,下面是代码:
#include
#include
#include
using namespace std;
int main()
{
int n;
while(cin...
相同点:贪心算法和dp都是一种递推算法,是一种解题的思想都是由局部最优解来推导全局最优解不同点:贪心算法:1.贪心算法中,作出的每步贪心决策都无法改变,因为贪心策略是由上一步的最优解推导下一步的最优解,而上一部之前的最优解则不作保留。2.由(1)中的介绍,可以知道贪心法正确的条件是:每一步的最优解一...
分类:
其他好文 时间:
2014-08-07 13:00:59
阅读次数:
178
Floyd算法
Dijkstra算法是用于解决单源最短路径问题的,Floyd算法则是解决点对之间最短路径问题的。Floyd算法的设计策略是动态规划,而Dijkstra采取的是贪心策略。当然,贪心算法就是动态规划的特例。
算法思想
点对之间的最短路径只会有两种情况:
两点之间有边相连,weight(Vi,Vj)即是最小的。
通过另一点:中介点,两点相连,使weight(Vi,Vk)+weight(Vk,Vj)最小。
Min_Distance(Vi,Vj)=min{weight(Vi,Vj)...
分类:
其他好文 时间:
2014-08-04 14:25:07
阅读次数:
275
一、概念:贪心法(Greedy algorithm),是在每一步选择中都采用在当期状态下最好或最有的选择,从而希望导致结果是最好或者最优的算法。 比如在旅行推销员问题中,如果履行原每次都选择最近的城市,这就是一种贪心算法。 贪心算法在有最优子结构的问题中,尤为有效。最优子结构的意思是局部最优解...
分类:
其他好文 时间:
2014-08-04 13:24:47
阅读次数:
206
【题目描述】:给定n个小岛以及这些小岛的位置,并输入雷达的辐射面积,问最少需要多少个雷达站才能覆盖所有小岛?【思路分析】:本题首先想到的是运用贪心算法,但是算法想到了如何贪心?这道题我自己开始做之时只有一点思路,就是让每一个雷达覆盖较多的点,但是如何较多覆盖,这就是典型的数学问题了,自己没有思索出来...
分类:
其他好文 时间:
2014-08-04 01:41:56
阅读次数:
290