码迷,mamicode.com
首页 > 其他好文 > 详细

【基础练习】【区间DP】codevs2102 石子归并2(环形)题解

时间:2015-08-10 16:12:52      阅读:577      评论:0      收藏:0      [点我收藏+]

标签:区间dp   动态规划   基础练习   

题目描述 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

代码在此


——今古恨,几千般,只应离合是悲欢



版权声明:转载请注明出处 [ametake版权所有]http://blog.csdn.net/ametake欢迎来看

【基础练习】【区间DP】codevs2102 石子归并2(环形)题解

标签:区间dp   动态规划   基础练习   

原文地址:http://blog.csdn.net/ametake/article/details/47399435

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!