题目大意:
有一串数字,我们要求出怎么在里面插入乘号,可以使得总乘积最大。
解题思路:
暴力不可行,这里我们用区间DP,所谓的区间DP就是状态里面包含有区间的端点,然后不断推。这里的转移方程为:
其中,dp[l][k]表示左端点在l处时还可以划分为k段的时候最大乘积是多少。i就是枚举后面的端点。no表示假如这样枚举导致的新的数是多少。这题需要写高精度,但是我用python水过去了。这里用的是py2,大家假如用py3,把里面的raw_input换为input就可以了。
题目大意:
有一串数字,我们要求出怎么在里面插入乘号,可以使得总乘积最大。
解题思路:
暴力不可行,这里我们用区间DP,所谓的区间DP就是状态里面包含有区间的端点,然后不断推。这里的转移方程为:
其中,dp[l][k]表示左端点在l处时还可以划分为k段的时候最大乘积是多少。i就是枚举后面的端点。no表示假如这样枚举导致的新的数是多少。这题需要写高精度,但是我用python水过去了。这里用的是py2,大家假如用py3,把里面的raw_input换为input就可以了。
上一篇:图解机器学习笔记(一)
下一篇:图解机器学习笔记(二)
P1018 乘积最大题解:dp[i][j]dp[i][j]dp[i][j]表示前iii个数插入jjj个乘号时的最大乘积。那么明显有
线性dp
题目:https://www.luogu.org/problemnew/show/P1018 区间DP+高精,注意初始化和转移的细节。 代码如下:
...
动态规划 线性DP
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M