下面石子合并的区间动态规划函数,最适合表达其状态转移方程的是:
for (int i=1;i<=n;i++) s[i]=s[i-1]+a[i];
// f[i][j]: 合并区间 [i,j] 的最小代价
for (int l=1;l<n;l++)
for (int i=1;i<=n-l;i++) {
int j=i+l;
for (int k=i;k<j;k++)
f[i][j]=min(f[i][j], f[i][k]+f[k+1][j]+s[j]-s[i-1]);
}
- A. f(i,j)=min_{i≤k<j}(f(i,j), f(i,k)+f(k+1,j)+s(j)-s(i-1))
- B. f(i,j)=min_{i≤k<j}(f(i,j), f(i,k)+f(k+1,j)+Σ_{k=i}^{j}a(k))
- C. f(i,j)=min_{i≤k≤j}(f(i,k)+f(k+1,j)+Σ_{k=i}^{j+1}a(k))
- D. f(i,j)=min_{i≤k<j}(f(i,k)+f(k+1,j)) + Σ_{k=i}^{j}a(k)
正确答案:D