P14.2 MinMaxDivision
Divide array A into K blocks and minimize the largest sum of any block.
- P14.2 最大最小拆分
将数组A分成K块,使得所有块的和值的最大值最小
给定整数K,M和一个由N个整数组成的非空数组A。数组的每个元素都不大于M。将这个数组分成K个连续的块。块的大小是0到N之间的任何整数。数组的每个元素都应该属于某个块。
从X到Y的块之和等于A[X] + A[X + 1] + … + A[Y]。空块的和等于0。大和指的是是所有块的和值中的最大值。
例如,给定整数K = 3, M = 5 和数组A:
A[0] = 2,A[1] = 1,A[2] = 5,A[3] = 1,A[4] = 2,A[5] = 2,A[6] = 2
可以将数组划分为以下块:
- [2, 1, 5, 1, 2, 2, 2], [], []:最大和值为15;
- [2]、[1、5、1、2]、[2、2]:最大和值为9;
- [2,1,5],[],[1,2,2,2]:最大和值为8&