for(int l=1; l<n; l++) //l是区间长度
{
for(int i=1; i+l<=n; i++) //i是区间的起点
{
int j=l+i; //区间终点
for(int k=i; k<j; k++) //用这个状态转移去退出区间[i,j]的值
f[i,j]=max(f[i,k]+f[k+1,j]+w[i,j]);
}
}
{
for(int i=1; i+l<=n; i++) //i是区间的起点
{
int j=l+i; //区间终点
for(int k=i; k<j; k++) //用这个状态转移去退出区间[i,j]的值
f[i,j]=max(f[i,k]+f[k+1,j]+w[i,j]);
}
}