Description
以下方法称为最小代价的字母树:给定一正整数序列,例如:4,1,2,3,在不改变数的位置的条件下把它们相加,并且用括号来标记每一次加法所得到的和。
例如:((4+1)+ (2+3))=((5)+(5))=10。除去原数不4,1,2,3之外,其余都为中间结果,如5,5,10,将中间结果相加,得到:5+5+10=20,那么数20称为此数列的一个代价,若得到另一种算法:(4+((1+2)+3))=(4+((3)+3))=(4+(6))=10,数列的另一个代价为:3+6+10=19。若给出N个数,可加N-1对括号,求出此数列的最小代价。
注:结果范围不超出longint.
Input
第一行为数N(1≤N≤200),第二行为N个正整数,整数之间用空格隔开。
最小代价树的动态规划算法

该博客介绍了如何使用动态规划解决最小代价树问题。给定一个正整数序列,目标是在不改变数字顺序的情况下,通过加括号的方式使得所有数字的和的中间结果之和最小。博客中提供了一个具体的例子和算法实现,最后输出了最少代价值。
最低0.47元/天 解锁文章
1145





