摘要: 01背包 题目 有N件物品和一个容量为V的背包。放放入第 i 件物品耗费的费用是C1,得到的价值是W1,求放入哪些物品能使获得价值最大。 最基础的背包问题,叫做01是因为每件物品只有一种情况--拿或不拿。由此设置一个数组F,F[i,v]表示前 i 件物品恰放入一个容量为 v 的背包可以获得的最大价值 阅读全文
posted @ 2021-05-23 15:31 Paramecium 阅读(97) 评论(0) 推荐(0)
摘要: 动态规划与分支方法相似,通过子问题的最优解来求得原问题的一个最优解。大多情况下能避免贪心产生的“短视”问题,比如硬币问题等。 举个dp典型题目 钢条切割 某公司购买长钢条,将其切割出售,公司希望知道最佳切割方案。 | 长度i | 价格pi | | | | | 1 | 1 | | 2 | 5 | | 阅读全文
posted @ 2021-05-08 22:08 Paramecium 阅读(68) 评论(0) 推荐(0)
摘要: 假如一堵墙上有一些钉子,这些钉子由许多细线连接起来,当我们试图去掉其他线,只留下较短的线使图钉连接起来,这就形成了最小生成树。 最小生成树正式描述是:给定无方向带权图G=(V,E),最小生成树集合为T,T为最小代价连接V中所有顶点所用边E的最小集合。 最小生成树常用Prim算法和Dijkstra算法 阅读全文
posted @ 2020-04-29 22:40 Paramecium 阅读(182) 评论(0) 推荐(0)