非常六加一


私信TA

用户名:dotcpp0637387

访问量:52

签 名:

等  级
排  名 27944
经  验 500
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校 清北大学
专  业

  自我简介:

TA的其他文章

dp区间问题~~~~
浏览:44

解题思路:

注意事项:

参考代码:

#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 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区