HDOJ 1024 Max Sum Plus Plus
ans=max{dp[m,j]}(m<=j<=n)
其中dp[m,j]为数组中前j个数的m段的最大和,且第m个段包含a[j];
而dp[i][j]=max{dp[i,j-1]+a[j],max{dp[i-1,t]+a[j]}}(i-1=<t<j);
dp[i][j]只与dp[i][j-1]及i-1阶段j之前的max(dp[i-1][t])有关,故只保存当前阶段的dp值和用b数组保存上一阶段的最大值
ans=max{dp[m,j]}(m<=j<=n)
其中dp[m,j]为数组中前j个数的m段的最大和,且第m个段包含a[j];
而dp[i][j]=max{dp[i,j-1]+a[j],max{dp[i-1,t]+a[j]}}(i-1=<t<j);
dp[i][j]只与dp[i][j-1]及i-1阶段j之前的max(dp[i-1][t])有关,故只保存当前阶段的dp值和用b数组保存上一阶段的最大值