题目链接
二分查找
对答案进行二分,得到mid,如果mid可以将数组切割成m组,并且每组之和小于mid,由于我们要找的是满足要求的最小值,所以可以排除区间(mid, right],去[left,...属性:一个集合就是一个分组,取各个小组之和有一个最大值,每个集合都有这么一个最大值,f(i,j)f(i,j)f(i,j)表示的就是这些集合中最大值的最小值。...边界处理:
初始化二维dp数组为INF,dp[0][0]=0
当i=1时,只有将所有的数划分在第i组才有效
当i=2时,状态dp[i-1][j]当j>=1是有效的
当不符合划分规则时,dp[i-1][j...min = Integer.MAX_VALUE;
// 穷尽所有划分点
for(int k = i; k < n; k++){
// t是当前划分的组内和的最大值...long t = Math.max(s[k+1]-s[i], helper(k+1, j+1, m, memo));
// min是所有可能划分的组内和的最大值的最小值