对于下面动态规划方法实现的函数,以下选项中最适合表达其状态转移函数的为()。
int s[MAX_N], f[MAX_N][MAX_N];int stone_merge(int n, int a[]) { for (int i = 1; i <= n; i++) s[i] = s[i - 1] + a[i]; for (int i = 1; i <= n; i++) for (int j = 1; j <= n; j++) if (i == j) f[i][j] = 0; else f[i][j] = MAX_F; 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]); } return f[1][n];}