给定一个数串,以及K,求对这个数串K划分的乘积最大值。DP思路:一开始肯定想到的是递归,假设在某两个字符间有一个乘号,那么乘积最大就是乘号两边的区间接着划分的乘积最大值。于是状态空间表示如下dp[i][k]表示从0~i之间有K个乘号的乘积最大值,dp[i][k] = max(dp[j][k-1]*n...
分类:
其他好文 时间:
2014-06-14 18:17:56
阅读次数:
292
题意:即求给定n个数字(a1,a2,……an),不改变序列,分成M份,使每一份和的乘积最大。思路:dp[i][j]表示把前i个数字,分成j份所能得到的最大乘积。转移方程:dp[i][j]
= max{ dp[k][i-1]*sum(k+1,j) } 其中显然j#include #include #i...
分类:
其他好文 时间:
2014-06-02 19:58:45
阅读次数:
242
申明:之前的所有欧拉计划都是用python来...
分类:
其他好文 时间:
2014-05-25 20:46:27
阅读次数:
233
设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积能够为最大。
同时,为了帮助选手能够正确理解题意,主持人还举了如下的一个例子:
有一个数字串:312, 当N=3,K=1时会有以下两种分法:
3*12=36
31*2=62
这时,符合题目要求的结果是:31*2=62
现在,请你帮助你的好朋友XZ设计一个程序,求得正确的答案。...
分类:
其他好文 时间:
2014-05-18 13:48:08
阅读次数:
308
算法训练 乘积最大
时间限制:1.0s 内存限制:256.0MB
锦囊1
动态规划。
锦囊2
用F[i,j]表示前i位分j个部分最大值是多少,则F[i,j]=F[k,j-1]*V(k+1,i)。其中V(k+1,i)表示从第k+1位到第i位的数。
问题描述
今年是国际数学联盟确定的“2000——世界数学...
分类:
其他好文 时间:
2014-05-15 03:43:39
阅读次数:
364