题目描写叙述 Description
在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次仅仅能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。
试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分.
输入描写叙述 Input Description
数据的第1行试正整数N,1≤N≤100,表示有N堆石子.第2行有N个数,分别表示每堆石子的个数.
输出描写叙述 Output Description
输出共2行,第1行为最小得分,第2行为最大得分.
例子输入 Sample Input
4
4 4 5 9
例子输出 Sample Output
43
54
将环形变成线性,数组开大一倍就可以。
ans=min{f[1,n],f[2,n+1],...,f[n,2n-1]}
复杂度O(n^3)
前缀和等与线性一致。仅仅是要注意循环什么的都要开到2*n-1
代码在此
——今古恨,几千般,仅仅应离合是悲欢
时间: 2024-10-12 16:01:45