orz
by Chouquet @ 2020-09-09 22:14:08
@[Chouquet](/user/207812) 求实质性帮助
by Alphaban @ 2020-09-10 22:00:33
我的思路:
```
#include<bits/stdc++.h>
using namespace std;
const int N=5001;
int n,dp[N][N];
string s;
int main(){
cin>>s;
n=s.length();
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)//这里直接用s[n-+1] 逆序了,当然可以再开一个 rev 数组存逆序。
dp[i][j]=max(dp[i-1][j-1]+(s[i-1]==s[n-j]),max(dp[i-1][j],dp[i][j-1])); // 为了同时解决数组下标爆 -1 和 string 从 0 开始的问题使用了 s[i-1]。
cout<<n-dp[n][n];
return 0;
}
```
希望能帮到你
by 外星球来的人 @ 2021-11-16 19:28:17