【动态规划】区间dp:回文串(添加最少字符称为回文串)_动态规划

 

【动态规划】区间dp:回文串(添加最少字符称为回文串)_#include_02

【动态规划】区间dp:回文串(添加最少字符称为回文串)_动态规划_03

#include<iostream>
#include<string>
#include<string.h> 
using namespace std;

int dp[7][7];
string s;
int f(int i,int j)
{
	if(i>=j)return 0;
	if(dp[i][j]!=-1)return dp[i][j];
	if(s[i]==s[j])
	{
		dp[i][j]=f(i+1,j-1);
	}
	else
	{
		dp[i][j]=min(f(i+1,j),f(i,j-1))+1;
	}
	return dp[i][j];
 } 
int main()
{
	s="bb";
	memset(dp,-1,49*4);
	cout<<f(0,1);
}