1 #include <iostream>
2
3 using namespace std;
4
5 const int MAXN=110;
6
7 int n;
8 int a[MAXN*2];
9 int dp[MAXN*2][MAXN*2];
10
11 int main()
12 {
13 cin>>n;
14 for (int i=1;i<=n;i++)
15 {
16 cin>>a[i];
17 a[i+n]=a[i];
18 }
19
20 for (int len=2;len<=n;len++) //枚举合并长度
21 {
22 for (int i=1;i+len-1<=2*n;i++) //枚举左端点
23 {
24 int j=i+len-1; //右端点
25 for (int k=i;k<=j-1;k++) //枚举间断点
26 {
27 dp[i][j]=max(dp[i][j],dp[i][k]+dp[k+1][j]+a[i]*a[k+1]*a[j+1]);
28 }
29 }
30 }
31
32 int ans=0;
33 for (int i=1;i<=n;i++)
34 {
35 ans=max(ans,dp[i][i+n-1]);
36 }
37 cout<<ans<<endl;
38
39 return 0;
40 }

区间(环形)dp的更多相关文章

  1. 区间DP中的环形DP

    vijos1312 链接:www.vijos.org/p/1312 题目分析:经典的环形DP(区间DP) 环形DP,首先解环过程,把数组复制一遍,n个数变成2n个数,从而实现解环 dp[i][j]表示 ...

  2. P1880 [NOI1995]石子合并[环形DP]

    题目来源:洛谷 题目描述 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法,计算出将 ...

  3. 区间型DP

    区间型DP是一类经典的动态规划问题,主要特征是可以先将大区间拆分成小区间求解最后由小区间的解得到大区间的解. 有三道例题 一.石子合并 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆. ...

  4. Gym101889J. Jumping frog(合数分解+环形dp预处理)

    比赛链接:传送门 题目大意: 一只青蛙在长度为N的字符串上跳跃,“R”可以跳上去,“P”不可以跳上去. 字符串是环形的,N-1和0相连. 青蛙的跳跃距离K的取值范围是[1, N-1],选定K之后不可改 ...

  5. Luogu【P1880】石子合并(环形DP)

    先放上luogu的石子合并题目链接 这是一道环形DP题,思想和能量项链很像,在预处理过程中的手法跟乘积最大相像. 用一个m[][]数组来存储石子数量,m[i][j]表示从第 i 堆石子到第 j 堆石子 ...

  6. codevs1085数字游戏(环形DP+划分DP )

    1085 数字游戏  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold     题目描述 Description 丁丁最近沉迷于一个数字游戏之中.这个游戏看似简单, ...

  7. $Poj2228$/洛谷$SP283\ Naptime$ 环形$DP$

    Luogu 一定要记得初始化为-inf!!! Description 在某个星球上,一天由N小时构成.我们称0-1点为第一个小时,1-2点为第二个小时,以此类推.在第i个小时睡觉能恢复Ui点体力.在这 ...

  8. FZU - 2204 简单环形dp

    FZU - 2204 简单环形dp 题目链接 n个有标号的球围成一个圈.每个球有两种颜色可以选择黑或白染色.问有多少种方案使得没有出现连续白球7个或连续黑球7个. 输入 第一行有多组数据.第一行T表示 ...

  9. 动态规划:区间DP与环形DP

    区间型动态规划的典型例题是石子归并,同时使用记忆化搜索实现区间动归是一种比较容易实现的方式,避免了循环数组实现的时候一些边界的判断 n堆石子排列成一条线,我们可以将相邻的两堆石子进行合并,合并之后需要 ...

  10. Vijos1451圆环取数[环形DP|区间DP]

    背景 小K攒足了路费来到了教主所在的宫殿门前,但是当小K要进去的时候,却发现了要与教主守护者进行一个特殊的游戏,只有取到了最大值才能进去Orz教主…… 描述 守护者拿出被划分为n个格子的一个圆环,每个 ...

随机推荐

  1. SQLSERVER 语句交错引发的死锁研究

    一:背景 1. 讲故事 相信大家在使用 SQLSERVER 的过程中经常会遇到 阻塞 和 死锁,尤其是 死锁,比如下面的输出: (1 row affected) Msg 1205, Level 13, ...

  2. 【模板】动态树(Link Cut Tree)

    模板 \(\text{Code}\) #include <cstdio> #include <iostream> #define IN inline #define RE re ...

  3. js实现图片选中马上显示图片名,选择后可以预览,即选即显

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. 从0搭建Vue3组件库(二):Monorepo项目搭建

    本篇文章是从0搭建Vue3组件库系列文章第二篇,本篇文章将带领大家使用pnpm搭建一个简单的Monorepo项目,并完成包的关联与测试 什么是 Monorepo 其实很简单,就是一个代码库里包含很多的 ...

  5. LeetCode-1219 黄金矿工

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/path-with-maximum-gold 题目描述 你要开发一座金矿,地质勘测学家已经探明了这 ...

  6. 指数分布的分布函数和概率密度函数的推导,牢记指数分布的分布函数为1-e^(-λx)

    指数分布的分布函数和概率密度函数的推导,牢记指数分布的分布函数为1-e^(-λx) 前言:重在记录,可能出错. 之前推导出了泊松分布的概率公式--泊松分布概率公式的推导,现在推导一下指数分布的分布函数 ...

  7. 解决html2canvas.js和pdf.js导出页面问题

    最近在做项目时有这么一个需求,需要将当前html页面导出pdf到本地.由于之前是做过类似的功能的借助了两个插件分别是html2canvas.js和pdf.js,本以为是非常顺利就能完成的,实际在使用过 ...

  8. CF623A Graph and String

    个人思路: 显然,和其他所有点连边的点都是 b.我们接下来不考虑这些点. 剩余 a 和 c 必然自己形成一个连通块,每个点与块内其他所有点连边. 超过 \(2\) 个连通块,或存在点没有与块内其他所有 ...

  9. element-ui的collapse中嵌套table表格 的 高度跳跃 问题

    <script src="//unpkg.com/vue@2.6.10/dist/vue.js"></script><script src=" ...

  10. ubuntu docker pull 失败 Error response from daemon: Get https://registry-1.docker.io/v2/

    问题: ubuntu@VM-3-4-ubuntu:~$ docker pull tensorflow/tensorflow:2.3.4-gpuError response from daemon: G ...