pku 3356(一个源串变换成目标串的最少步数,仅增删改3个操作)
来源:互联网 发布:蝴蝶恶作剧软件 编辑:程序博客网 时间:2024/05/17 02:56
每次最优的操作,能产生子问题,该子问题能够解决该问题,这是最优子结构。最优子结构+重叠子问题,所以此题为动态规划问题。
由于每次操作为: 增加一个字符,删除一个字符,改变一个字符
设dp[i][j] 源串前i的子串变换成目标串前j的子串,需要的最少步数。
由空串到任意串,则dp[0][i]=i,dp[i][0]=i
求dp[1][1],如果 str1[0]==str2[0],则dp[1][1]为dp[i-1][j-1]。
对于dp[i][j]状态,由此3个状态而来:
1.dp[i-1][j] +1
2.dp[i][j-1] +1
3.如果str1[i-1] ==str2[j-1],则dp[i-1][j-1]+0, 否则,dp[i-1][j-1]+1
决策:肯定是3个状态转移之中最小的
0 0
- pku 3356(一个源串变换成目标串的最少步数,仅增删改3个操作)
- 要求写一个程序,返回最少的操作数,使得源串进行这些操作后等于目标串。源串和目标串长度都小于2000。
- 最少步数(BFS)
- 最少步数(bfs)
- 迷宫最少步数的求解(利用队列)
- 问题 B: 最少的步数 【BFS】
- 问题 N: 最少的步数
- 给一个数轴,包括正无穷和负无穷,从原点0开始向目标位置x走动(x为整数),第i步,步长为i,求到x的最少步数
- 最少步数(nyoj58)(DFS)
- 最少步数(NYOJ 58)
- nyoj 58 最少步数(BFS)
- 最少步数(广搜)
- nyoj-58 最少步数(DFS)
- NYOJ58最少步数(bfs)
- NYOJ 58 最少步数(dfs)
- NYOJ 58 最少步数 (DFS)
- NYOJ58 最少步数(搜索)
- 最少步数(迷宫问题类型)
- SVM解释为什么可以约束min y(wx+b)=1的问题
- ListView之Recycler机制
- 工业4.0时代,我们引领未来
- Java集合中HashSet的实现原理
- 杭电2015'11校赛
- pku 3356(一个源串变换成目标串的最少步数,仅增删改3个操作)
- reason: '-[__NSCFNumber rangeOfCharacterFromSet:]: unrecognized selector sent to instance --iOS开发之崩溃
- Div+CSS总结
- Adobe的AIR
- OpenCv中cvCaptureFromFile返回NULL的问题
- hexo博客--搭建
- hdu 计算机学院大学生程序设计竞赛(2015’11)游乐场
- Http缓存
- Java集合之Map