题解:二分答案+哈希表check
题目是要最小化最大值,显然,设最终的答案为mid
,显然,mid
越大,越容易划分成k
个子串,反之,则越困难。
在check
当前答案mid
是否满足条件时,我们可以看是否有一种划分策略,可以将字符串s
至多换分成k
个,使得每一个部分的权值都≤mid,为什么是至多,因为如果最终划分成的字符串数量<k,我们可以将子串做拆分,使得最终的字符串数量=k,但是反之,如果划分的字符串数量已经>k,那就说明当前mid
无法满足条件。check
的过程中可以使用哈希表来计算权值。
C++