3 条题解
-
-1
/***************************************** Note: ******************************************/ #include <queue> #include <math.h> #include <stack> #include <stdio.h> #include <iostream> #include <vector> #include <iomanip> #include <string.h> #include <algorithm> using namespace std; #define LL long long const int N = 1e6 + 10; const int INF = 0x3f3f3f3f; int a[N] , dp[300][300]; int main() { int n ; cin >> n; for(int i = 1 ; i <= n ;i++) { cin >> a[i]; a[i] += a[i-1]; } for(int k = 2 ; k <= n ; k++) { for(int l = 1 ; l+k -1 <= n ; l++) { int r = l + k - 1; dp[l][r] = INF; for(int i = l ; i < r ; i++) { dp[l][r] = min(dp[l][r] , dp[l][i] + dp[i+1][r] + a[r] - a[l-1]); } } } cout << dp[1][n] << endl; return 0; }
信息
- ID
- 193
- 时间
- 5000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- 递交数
- 196
- 已通过
- 64
- 上传者