思想来源:
1
:
floyd
2
:隔板法
3
:动态规划
问题分析:
1
:只能是相邻两个石头才能合并
2
:操场是圆形的
3
:合并后的石头组成一个新的石堆
4
:要求求解最优的合并方式使得得分最大
根据题意
什么才叫得分?
得分是合并的石头形成新的石堆的石头的数目,合并一个对应的得分就加上新合并的石堆石头的数目,
最后求解的分的总和
算法选择
•
蛮力法
时间复杂度大效率低下
•
贪心法
石头的堆数目相近的比较多时处理复杂
并且难以的到最优解
•
动态规划
下面将介绍
数据模拟
•
加入有石堆
石子
数目一次是
1 2 3
则选择方式有
1): 1 ->2->3; 3+6 = 9
2)2->1->3
;
3+6 = 9
3)2->3->1
;
5+6 = 11
4)1->3->2
;
4+6 = 10
5)3->1->2
;
4+6 = 10
6)3->2->1
;
5+6 = 11
故最优解为
11
动态方程
约束条件
:
1=k<=j-1;
方程:
F(I,j) = max{f(I,k)+f(i+k,j-k)}+sum[i][j];
源码