https://www.luogu.org/problemnew/show/P1880
题目描述
在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。
试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分.
输入输出格式
输入格式:
数据的第1行试正整数N,1≤N≤100,表示有N堆石子.第2行有N个数,分别表示每堆石子的个数.
输出格式:
输出共2行,第1行为最小得分,第2行为最大得分.
输入输出样例
输入样例#1: 复制
4
4 5 9 4
输出样例#1: 复制
43
54
https://blog.youkuaiyun.com/xiji333/article/details/86677547
思路:经典dp问题,上面那个链接是这道题的弱化版,即不是环形的,稍微简单一点,思路可以看那一篇博客。这里讲一下环怎么处理,我们考虑化环为链,比如环状的1 3 5可以写成链状的 1 3 5 1 3,即将长度为n的环拆成长度为2*n-1的链,拆完之后就跟上面那道题的处理一模一样了。既求最大值又求最小值开两个数组就行了。