题目意思:
给出两个字符串X,Y,求出从X——>Y的最小操作次数,只可以删除,添加,修改一个字符。
http://poj.org/problem?id=3356
题目分析:
/**
*x,y:是字符串
*动态规划最小编辑距离,
*dp[i][j]表示取x的前i个字符和y的前j个字符操作的最小次数。
*dp[0][j]=j:取x的前0个字符和y的前j个字符操作的
*最小...
分类:
其他好文 时间:
2014-11-09 19:34:15
阅读次数:
204
题意:给3种背包,一种是至少装一个,一种是最多装一个,一种任意。
首先要对一维状态的原始背包很熟悉才可以。此处的i代表滚动的背包类型。
1. 任意的话就是01背包 初始化:dp[i][j]=dp[i-1][j]. dp[i][j]=max{dp[i][j] , dp[i][ j-w[i] ]+v[i] } dp[i][j-w[i]] 存在.
2. 最多...
分类:
其他好文 时间:
2014-11-09 15:22:17
阅读次数:
222
题目意思:
给出一个矩阵。求出和最大的子矩阵,在解决这个问题的之前,首先看一下这个问题的一维问题,给出一个序列求最大子序列。满足ij的和。
题目分析:
对于一维问题,有很多的解决方法,当然也对应不同的时间和空间复杂度。有暴力,优化暴力,贪心,动态规划等解法,由于这里此题的二维问题要用到动态规划,这里只给出动态规划算法。对于二维问题只需要转化为一维的问题,在用动态规划方法解决问题。
一维动归...
分类:
其他好文 时间:
2014-11-09 12:39:35
阅读次数:
153
#include /**钢条切割问题:*问题描述假设公司出售一段长度为i英寸的钢条的价格为Pi(i = 1, 2, ...单位:美元),下面给出了价格表样例:长度i 1 2 3 4 5 6 7 8 9 10价格Pi ...
分类:
其他好文 时间:
2014-11-09 00:59:35
阅读次数:
225
题目:还是类似于之前两题,这里给定的m*n矩阵是每个数字都有值的。求的从头到尾的最小sum是多少。还是用动态规划求。初始化的时候是先计算第一行和第一列。假设给定的数据如下:那么初始化后为:那么再定位要处理的数字到i=1和j=1处,如表中的数字2处。这个时候更新是更加它加上它的左边或者上边的较小的值。...
分类:
其他好文 时间:
2014-11-09 00:46:31
阅读次数:
222
Human Gene Functions
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 2402 Accepted Submission(s): 1360
Problem Description
It is...
分类:
其他好文 时间:
2014-11-08 16:47:19
阅读次数:
95
最近,我在网上看了一些动态规划求字符串最长公共子序列的代码,但是无一例外都是处理英文字符串,当处理汉字字符串时,经常会出现乱码或者不正确的情况。 我对代码进行了修改,使用wchar_t类型存储字符串,能够正确的处理英文字符串和汉字字符串的最长公共子序列。代码如下:...
分类:
编程语言 时间:
2014-11-08 13:42:49
阅读次数:
190
01背包(每种物品的状态为选择或不选择,最多只能选1件):
1.传统的二维数组,第i件物品的重量为w[i],价值为v[i]
dp[i][j]保存的是选择前i件物品(每一件物品的状态为选与不选),在背包容量为j的情况下,可以获得的最大价值
两种情况:
一.当前背包容量j
二.当前背包容量j>=第i件的重量时,第i件背包可以选,能放得下去,但因为要考虑到所获得最大价值,所以这时候有两种选...
分类:
其他好文 时间:
2014-11-08 10:32:33
阅读次数:
173
最长递增子序列问题:求一个一维数组中最长递增子序列的长度。解法1:非常明显用动态规划的算法,选取以下的阶段(这样的选法极为常见),可使阶段间的关系具有无后效性。阶段:在全部以元素k结尾的子数组中,选出当中的最长递增子序列,k=1,2...n。状态:以元素k结尾的最长递增子序列中仅仅有一个最长的递增子...
分类:
其他好文 时间:
2014-11-08 10:26:07
阅读次数:
154