思路:
简单的区间dp,从小区间到大区间,随便写。
还有一种是那啥,n-LCS。。。具体不说了,赶时间)))= =、
- #include <stdio.h>
- #include <string.h>
- #include <iostream>
- using namespace std;
-
- typedef long long LL;
-
- const int N=1e3+10;
- char s[N];
- int dp[N][N];
-
- int main()
- {
- int n;
- scanf("%s",s+1);
- n=strlen(s+1);
- memset(dp,0,sizeof(dp));
-
- for(int len=1;len<n;len++)
- for(int j=1;j<=n;j++)
- {
- if(s[j]==s[j+len])
- dp[j][j+len]=dp[j+1][j+len-1];
- else
- dp[j][j+len]=min(dp[j+1][j+len],dp[j][j+len-1])+1;
- }
- printf("%d\n",dp[1][n]);
- return 0;
- }
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31