前言
这一强大的算法却有一个不相关的名字,常常引起混淆。实际上创造者Richard Bellman把这名字作为保护伞来掩人耳目的,从此延续下来。说它强大是因为应用范围很广,在优化算法中,在图像融合中,在很多实际问题中都有其身影。还因为使用它往往能收到奇效,当你尝试了分治,尝试了贪心仍然不能满意的时候...
分类:
其他好文 时间:
2014-08-05 13:30:29
阅读次数:
337
Wooden Sticks
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 11627 Accepted Submission(s): 4807
Problem Description
There is a ...
分类:
其他好文 时间:
2014-08-05 11:25:47
阅读次数:
286
1.背包问题:
①最优装载问题:把物体重量从小到大排列,依次选择每个物体,只顾眼前,却能得到最优解。
②部分背包问题:把物体的“价值除以重量的值”从小到大排序,一次选择每个物体(贪心只能对一个变量贪心,这是一种巧妙的转换)。
③乘船问题:只让眼前的浪费最少。(注意是让什么最少,是让浪费最少!)
2.区间相关问题(排序:排左边还是右边?):
①选择不相交区间:
②区间选点问题:
③区间...
分类:
其他好文 时间:
2014-08-05 11:18:09
阅读次数:
163
最小生成树
给定一无向带权图,顶点数是n,要使图连通只需n-1条边,若这n-1条边的权值和最小,则称有这n个顶点和n-1条边构成了图的最小生成树(minimum-cost spanning tree)。
Prim算法
Prim算法是解决最小生成树的常用算法。它采取贪心策略,从指定的顶点开始寻找最小权值的邻接点。图G=,初始时S={V0},把与V0相邻接,且边的权值最小的顶点加入到S。不断地把S中的顶点与V-S中顶点的最小权值边加入,直到所有顶点都已加入到S中。...
分类:
其他好文 时间:
2014-08-05 00:39:08
阅读次数:
313
TIANKENG’s restaurant
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)
Total Submission(s): 658 Accepted Submission(s): 306
Problem Description
TIANK...
分类:
其他好文 时间:
2014-08-04 21:31:39
阅读次数:
238
原题http://poj.org/problem?id=3399
Product
Time Limit: 1000MS
Memory Limit: 65536K
Total Submissions: 2839
Accepted: 688
Special Judge
Description
There is an arra...
分类:
其他好文 时间:
2014-08-04 18:03:37
阅读次数:
231
题意:给你一个数n,接下来给你一个矩形体的3边长(即随便你怎么放它,它的高度有可能是3边中的一条边),现在要你求出这n个矩形体能堆成一座塔的最高高度(塔就是面积从店面开始向上严格递增)
思路:动规里的最长子序列的变形,结合了贪心的思想。首先我们需要对你所用的高进行排序,排序之后找出最严格递减的面积就可以了
AC代码:
#include
#include
#include
#include
u...
分类:
其他好文 时间:
2014-08-04 17:57:17
阅读次数:
195
1. 编程入门2. 数据结构3. 字符串4. 排序5. 图遍历6. 图算法7. 搜索:剪枝,启发式搜索8. 动态规划/递推9. 分治/递归10. 贪心11. 模拟12. 算术与代数13. 组合问题14. 数论15. 网格,几何,计算几何【编程入门】PC 110101, uva 100, The 3n...
分类:
其他好文 时间:
2014-08-04 17:31:37
阅读次数:
461
【题意描述】给定两个有n个整数构成的序列,我们每次可以移动第一个序列的最后一个数,并可以把该数插在第一位或者中间某一个位置。求通过最少的步骤数使得第一个序列与第二个序列相同。【解题思路】本题采用贪心的思想。我们可以从第一个开始找,寻找不需要处理的序列数,然后用总长度减去不需要处理的数目即是答案。【A...
分类:
其他好文 时间:
2014-08-04 17:15:37
阅读次数:
183
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