模板:
假设要求区间[a,b]的最大/小值
for(int l=1;l<=b-a+1;l++){//l枚举区间长度
for(int i=a;i<=b;i++){//i枚举区间起点
int j=i+l-1;//j为区间终点
if(j>b) break;//重要!!!
for(int k=i;k<j;k++)//k为区间中的点,注意为[i,j)
dp[i][j]=max/min(dp[i][j],dp[i][k](+-/*)dp[k+1][j](……);
}
}