#755. 合并圆环
合并圆环
题目描述
给定 个非负整数 ,它们按环(圆环)排列。对于 , 与 相邻;且 与 相邻。
你需要恰好执行 次以下合并操作:
- 选择环上任意一对相邻元素,设其值为 和 ,将这对相邻元素合并为一个新元素,值为 ,并产生代价 。
每次操作会使环的大小减 ,并相应地更新相邻关系。请计算将环合并为单个元素时可以得到的 最小 总代价。
输入格式
-
第一行包含一个整数 ,表示测试用例的数量()。
-
对于每个测试用例:
- 第一行包含一个整数 ,表示环上元素的个数()。
- 第二行包含 个整数 ,表示环上元素的值()。
数据保证所有测试用例中 的总和不超过 。
输出格式
对于每个测试用例,输出一行,包含一个整数——将环合并为一个元素时能取得的最小总代价。
样例输入
3
4
1 1 3 2
2
0 2
7
1 1 4 5 1 4 1
样例输出
6
2
19
说明
样例解释
-
第一个样例:对 的一种最优合并过程是:
- 合并下标 与 (值分别为 ),代价 ,得到 ;
- 合并当前位置上的相邻元素(对应值 ),代价 ,得到 ;
- 合并剩下的两个元素,代价 ,得到 。总代价 ,无法更低。
-
第二个样例:只有两个元素,唯一一次合并代价为 。