题目链接:?id=1651
题意:初使ans=0,每次消去一个值,位置在pos(pos!=1 && pos !=n) 同时ans+=a[pos-1]*a[pos]*a[pos+1],,一直消元素直到最后剩余2个,求方案最小的ans是多少?
代码:
;inf = 1e18;int n;int a[110];long long dp[110][110];int main(){while (cin>>n){for (int i = 1; i <= n; i++)cin >> a[i];memset(dp, 0, sizeof(dp));for (int k = 2; k <= n – 1; k++)//区间长度{for (int i = 1; i + k <= n; i++)//区间起点{int j = i + k;//区间终点dp[i][j] = inf;for (int r = i + 1; r < j; r++){dp[i][j] = min(dp[i][j], dp[i][r] + dp[r][j] + a[i] * a[r] * a[j]);}}}cout << dp[1][n] << endl;}return 0;}
失败是什么?没有什么.只是更走近成功一步,