2011年9月23日
摘要: 贪心算法就是总是做出当前看来最好的选择。即贪心算法并不从整体最优考虑,它做出的选择只是某种意义上的局部最优选择。可以用贪心算法解决的问题:1.交通路线的最短路径算法2.最小生成树算法3.集装箱装载问题的背包算法4.图的着色问题5.有限期的任务分配和计算机作业调度说明:若要用贪心算法求解某问题的整体最优解,必须首先证明贪心思想在该问题的应用结果就是最优解。贪心算法要素:1.贪心选择性质,指所求问题整体最优解可以通过一系列局部最优解的选择来达到。通常是以自顶向下的方式进行的。已迭代的方式作出贪心选择,每做一次贪心选择就将所求问题简化为了规模更小的子问题。2.最优子结构性质 ,当问题的最优解包含其子 阅读全文
posted @ 2011-09-23 20:28 猿类的进化史 阅读(646) 评论(0) 推荐(0) 编辑
摘要: poj 1475题目大意:给出一个地形图,S表示人的起始位置,B表示箱子的位置,T表示要把箱子推倒的位置,刚开始的时候没看到要的是推箱子步数最少,其次是人的步子数最小。解决:两个bfs,第一个bfs以箱子的位置为状态,箱子扩展到下一个状态扩展人的位置,最终的目的是箱子到达目标位置。刚开始的时候是定义了一个vis[25][25][25][25] 的四维数组来标记状态是否已经存在,但是wa,后来仔细想了一下,这样会把正确的枝剪掉,四维数组在两个bfs中用不行,若只有一个bfs还可以。最终还是选择了两个标记数组,但是别忘了在每一个bfs之前要清除标记#include <iostream> 阅读全文
posted @ 2011-09-23 10:11 猿类的进化史 阅读(405) 评论(0) 推荐(0) 编辑