博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sicily 1345:能量项链(dp)
阅读量:6448 次
发布时间:2019-06-23

本文共 949 字,大约阅读时间需要 3 分钟。

#include 
using namespace std;int main(){ int n; while(cin >> n){ int arr[n]; for(int i = 0; i < n; i++)cin >> arr[i]; int dp[n][n+1]; //使用dp[i][j]代表从第i个数字往后合并j位的最大能量 memset(dp, 0, sizeof(dp)); for(int i = 0; i < n; i++){ dp[i][2] = arr[i]*arr[(i+1)%n]*arr[(i+2)%n]; } //dp[i][0] = dp[i][1] = 0, dp[i][2]为连续三数字相乘 for(int j = 3; j <= n; j++){ for(int i = 0; i < n; i++){ int ans = 0; for(int k = 1; k < j; k++){ ans = max(ans, dp[i][k]+dp[(i+k)%n][j-k]+arr[i]*arr[(i+k)%n]*arr[(i+j)%n]); } // 状态转移 dp[i][j] = ans; } } int ans = 0; for(int i = 0; i < n; i++){ ans = max(ans, dp[i][n]); // 遍历得出最大值 } cout << ans << endl; }}

 

转载于:https://www.cnblogs.com/Vincent-Bryan/p/6664783.html

你可能感兴趣的文章
linux下mysql配置文件my.cnf最详细解释
查看>>
给计算机专业大学生整理的书单
查看>>
两个项目之间通过 RestTemplate 进行调用
查看>>
pythonl练习笔记——PythonNet 套接字socket
查看>>
JS处理数组内如果相同ID追加一个属性(如字体颜色)
查看>>
30个redis.conf 配置项说明
查看>>
shell的浮点运算
查看>>
npm命令
查看>>
linux中backticks反引号的作用
查看>>
关于c++中如何调整输出格式的讲解!!!
查看>>
【C++沉思录】代理类
查看>>
RDLC报表多页打印时的一些问题
查看>>
PHP 和 AJAX responseXML 实例
查看>>
js获取触发事件元素的坐标
查看>>
Delphi多媒体设计之TMediaPlayer组件(二)
查看>>
ubuntu遇到的问题
查看>>
【NLP】simhash判断文档相似度
查看>>
Django Model获取指定列的数据
查看>>
Delphi MaskEdit用法
查看>>
五款免费的Windows 8 Metro风格主题
查看>>