Problem1075--[视频]动态规划入门(中链式2:能量项链)

1075: [视频]动态规划入门(中链式2:能量项链)

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 2  Solved: 2
[Status] [Submit] [Creator:]

Description

【问题描述】
        能量球组成的项链。相邻两球可以合并产生新球。合并规则:如果前一颗能量珠的头标记为m,尾标记为r,后一颗能量珠的头标记为r,尾标记为n,则聚合后释放的能量为m*r*n(Mars单位),新产生的珠子的头标记为m,尾标记为n。一条项链怎样合并才能得到最大能量,求最大能量值。

  例如:设N=4, (2,3) (3,5) (5,10) (10,2)。

  ((4⊕1)⊕2)⊕3)=10*2*3+10*3*5+10*5*10=710。
【输入文件】
        输入的第一行是一个正整数N(4≤N≤100)第二行是N个用空格隔开的正整数,所有的数均不超过1000。第i个数为第i颗珠子的头标记(1≤i≤N),当i<N时,第i颗珠子的尾标记应该等于第i+1颗珠子的头标记。第N颗珠子的尾标记应该等于第1颗珠子的头标记。
        至于珠子的顺序,你可以这样确定:将项链放到桌面上,不要出现交叉,随意指定第一颗珠子,然后按顺时针方向确定其他珠子的顺序。
【输出文件】
        输出只有一行,是一个正整数E(E≤2.1*109),为一个最优聚合顺序所释放的总能量。
【样例输入】
4
2 3 5 10
【样例输出】
710

Source/Category