02 2011 档案

HDU1881毕业bg
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1881思路:题目实质是01背包问题,不过加了几方面的限制 将bg当作物品,离开时间当作重量,快乐度当作价值,则与01背包不同的是物品放入的顺序是有先后顺序的 所以需要排序 最后的结果也不是求f[n][bg[n... 阅读全文

posted @ 2011-02-21 19:53 bug睡的略爽 阅读(142) 评论(0) 推荐(0)

HDU1248寒冰王座
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1248思路:经典的完全背包问题,就是每种物品并不是简单的取0件或者是取1件,而是取0或1或2或3或4........件 故状态转移方程基于01背包问题稍作修改即可 f[i][j]=max{f[i-1][j-k... 阅读全文

posted @ 2011-02-21 19:10 bug睡的略爽 阅读(185) 评论(0) 推荐(0)

HDU1864最大报销额
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1864思路:将题目中数字都扩大100倍变成整数,就可看作经典的01背包问题 设报销额度为背包上限,可报销支票金额为价格,可报销支票金额为重量 p[]存价格,亦是重量状态转移方程:f[i][j]表示前i个物品放... 阅读全文

posted @ 2011-02-21 16:40 bug睡的略爽 阅读(130) 评论(0) 推荐(0)

0-1背包问题详解
摘要:动态规划是用空间换时间的一种方法的抽象。其关键是发现子问题和记录其结果。然后利用这些结果减轻运算量。比如01背包问题。/* 一个旅行者有一个最多能用M公斤的背包,现在有N件物品,它们的重量分别是W1,W2,...,Wn,它们的价值分别为P1,P2,...,Pn.若每种物品只有一件求旅行者能获得最大总... 阅读全文

posted @ 2011-02-15 18:06 bug睡的略爽 阅读(174) 评论(0) 推荐(0)

kruskal算法
摘要:kruskal算法其实也是和prim算法一样求无向图的最小生成树,也属于贪心算法,不过prim算法的复杂度为O(n^2),适用于稠密图,而kruskal算法的复杂度为O(eloge),适用于稀疏图。kruskal算法描述很容易理解,如下1.设连通网N=(V,{E}),令最小生成树初始状态为只有n个顶... 阅读全文

posted @ 2011-02-02 01:48 bug睡的略爽 阅读(310) 评论(0) 推荐(0)

prim算法
摘要:prim算法其实和dijkstra算法在实现上基本上一样,也很容易理解。prim算法的基本思想:取图中任意一个顶点 v 作为生成树的根,之后往生成树上添加新的顶点 w。在添加的顶点 w 和已经在生成树上的顶点v 之间必定存在一条边,并且该边的权值在所有连通顶点 v 和 w 之间的边中取值最小。之后继... 阅读全文

posted @ 2011-02-01 16:46 bug睡的略爽 阅读(243) 评论(0) 推荐(0)

dijkstra算法
摘要:dijkstra算法比较容易理解,但是代码有点复杂。求从源点到其余各点的最短路径的算法的基本思想:其中,从源点到顶点v的最短路径是所有最短短路径中长度最短者。路径长度最短的最短路径的特点:在这条路径上,必定只含一条弧,并且这条弧的权值最小。下一条路径长度次短的最短路径的特点:它只可能有两种情况:或者... 阅读全文

posted @ 2011-02-01 00:05 bug睡的略爽 阅读(271) 评论(0) 推荐(0)

导航