在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。
试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分.
数据的第1行试正整数N,1≤N≤100,表示有N堆石子.第2行有N个数,分别表示每堆石子的个数.
输出共2行,第1行为最小得分,第2行为最大得分.
4
4 4 5 9
43
54
ans=min{f[1,n],f[2,n+1],...,f[n,2n-1]}
复杂度O(n^3)
前缀和等与线性一致,只是要注意循环什么的都要开到2*n-1
代码在此
——今古恨,几千般,只应离合是悲欢
版权声明:转载请注明出处 [ametake版权所有]http://blog.csdn.net/ametake欢迎来看
【基础练习】【区间DP】codevs2102 石子归并2(环形)题解
原文地址:http://blog.csdn.net/ametake/article/details/47399435