动态规划
文章平均质量分 84
小瑾守护线程
Where the heart, where the harvest.
展开
-
动态规划算法之01背包问题
问题描述: 给定N中物品和一个背包。物品i的重量是Wi,其价值位Vi ,背包的容量为C。问应该如何选择装入背包的物品,使得转入背包的物品的总价值为最大?? 在选择物品的时候,对每种物品i只有两种选择,即装入背包或不装入背包。不能讲物品i装入多次,也不能只装入物品的一部分。因此,该问题被称为0-1背包问题。 问题分析:令V(i,j)表示在前i(1 (1)原创 2017-02-16 15:37:48 · 275 阅读 · 0 评论 -
动态规划算法之寻找最长回文数串
给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢? 输出需要删除的字符个数。 本题可转化为动态规划算法求解最长公共子序列问题,然后用总字符串长度减去最长子序列长度,便得出问题的答案。 先将给定的初始字符串S1反过来排列,设为S2,求S1和S2的最长公共子序列便可。C++代码如下: #include #include #incl原创 2017-02-18 16:06:19 · 1836 阅读 · 0 评论