解题思路:
注意事项:
参考代码:
#include<iostream>
using namespace std;
int n,a[1001],dp[1001][1001],sum[1001];
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
sum[i] = sum[i - 1] + a[i];
}
for (int len = 1; len < n; len++)
{
for (int i = 1; i + len <= n; i++)
{
int j = i + len;
for (int k = i; k < j; k++)
{
if(dp[i][j])
dp[i][j] = min(dp[i][j], dp[i][k] + dp[k + 1][j]+ sum[j] - sum[i - 1]) ;
else
dp[i][j]= dp[i][k] + dp[k + 1][j] + sum[j] - sum[i - 1];
}
}
}
cout << dp[1][n] << endl;
return 0;
}
0.0分
0 人评分
妹子杀手的故事 (C语言代码)浏览:691 |
Hello, world! (C语言代码)浏览:1201 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:5232 |
【矩阵】 (C++代码)浏览:950 |
Cylinder (C语言描述+详细分析)浏览:3266 |
回文数字 (C语言代码)浏览:2510 |
DNA (C语言代码)浏览:750 |
数字游戏 (C++代码)浏览:1185 |
局部变量作函数返回值的问题浏览:981 |
母牛的故事 (C语言代码)浏览:479 |