51nod1092 回文字符串
解法一:
这里插入字符和删除对应字符是一个道理,所以将原串逆序之后求一遍LCS即可:
#include<bits/stdc++.h>
using namespace std;
const int maxn=1000;
char a[maxn+10];
char b[maxn+10];
int sum[maxn+10][maxn+10];
int main(){
scanf("%s",a+1);
该博客探讨了如何在不删除原有字符的情况下,通过最少插入字符将字符串转化为回文串。提供了两种解题思路:一是通过计算原串与逆序串的最长公共子序列(LCS);二是采用记忆化搜索的方法,从字符串的两侧逐步处理,找出最少插入字符的数量。
51nod1092 回文字符串
解法一:
这里插入字符和删除对应字符是一个道理,所以将原串逆序之后求一遍LCS即可:
#include<bits/stdc++.h>
using namespace std;
const int maxn=1000;
char a[maxn+10];
char b[maxn+10];
int sum[maxn+10][maxn+10];
int main(){
scanf("%s",a+1);
4869
366

被折叠的 条评论
为什么被折叠?