最长回文子序列:字符串反转+动态规划,最长公共子序列LCS算法
来源:互联网 发布:烛魔枪一段数据 编辑:程序博客网 时间:2024/04/27 09:03
题目思想大概是这样:cabbeaf:回文子序列有:c,a,aa,bb,,aba,abba,e,f,最长的就是abba,所以输出长度为4
状态转移关系如下:
#include <iostream>#include <algorithm>#include <string>int dp[1000][1000];using namespace std;int main(){//思路就是求这个原字符串和它反转字符串的最长公共子序列 string str; cin>>str; string a=str; reverse(a.begin(),a.end()); int len=str.length(); for(int i=1;i<=len;i++){ for(int j=1;j<=len;j++){ if(str[i-1]==a[j-1]){ dp[i][j]=dp[i-1][j-1]+1; } else{ dp[i][j]=max(dp[i-1][j],dp[i][j-1]); } } } cout<<dp[len][len]; return 0;}
0 0
- 最长回文子序列:字符串反转+动态规划,最长公共子序列LCS算法
- 最长公共子序列LCS和最长回文子序列的动态规划算法
- 【动态规划】最长公共子序列LCS
- 动态规划---LCS最长公共子序列
- 动态规划-最长公共子序列【LCS】
- 动态规划-最长公共子序列(LCS)
- 动态规划-LCS最长公共子序列
- 动态规划----最长公共子序列LCS
- (动态规划)LCS-最长公共子序列
- 动态规划 最长公共子序列LCS
- 算法导论——动态规划之最长公共子序列(LCS)和最长回文子序列(LPS)
- 动态规划实现最长公共子序列(LCS)算法
- 动态规划算法解最长公共子序列LCS问题
- 动态规划算法解最长公共子序列LCS问题
- 动态规划算法解最长公共子序列LCS问题
- 动态规划算法解最长公共子序列LCS问题
- 动态规划算法解最长公共子序列LCS问题
- 动态规划算法解最长公共子序列LCS问题
- 关于mobiscroll.js的文本框初始化问题
- osgEarth编译
- 提高win7单个程序的运行内存限制命令and JSON在线核对
- Android Dialog fullScreen&Custom The Width&Height of The Dialog
- Altium Designer中各层的含义
- 最长回文子序列:字符串反转+动态规划,最长公共子序列LCS算法
- Java 往hashSet集合中存入自定义对象
- 图同构(graph isomorphism)和图同态(graph homomorphism)
- Windows平台下GCC编程之从键盘输入10名学生的C语言成绩存入一维数组内,编写程序计算10名学生的最高分、平均分和及格人数
- 多进程并发编程----进程间传递文件描述符基础~socketpair函数简介
- spring mvc @ModelAttribute注解使用
- UIImageVIew属性值animationImages
- 嵌入式 如何手动释放Linux内存的方法
- NestedScrollView中嵌套RecycleView