动态规划问题:添加括号使表达式的值最大
给定一个表达式(只有加法和乘法两种运算),要求通过添加括号使得表达式的值最大
譬如说100×100+100×100×100+100×100的最大值是(100×(100+100))×((100×(100+100))×100)=40000000000
求动态规划的伪代码
[解决办法]
给你个式子:
设原计算式为: n1 op1 n2 op2 n3 op3 ... n[m-1] op[m-1] n[m]. 其中n为数字, op为操作符(即+或*)
另设T(n[i], n[j])为第i个数和第j个数之间的子式的最大值. 则有
T(n[i], n[j]) = max{T(n[i], n[m]) op[m] T(n[m+1], n[j])} 其中m from i to j.