题目大意:给出n和L,表示有一个长度为01组成的字符串,要求找出子串长度不小于L,且含有1的平均值最大,长度尽量小。
解题思路:树形结合,将字符串的每个位置对应成xOy坐标上的点,那么平均指即为两点之间的斜率。
然后维护一个相邻两点斜率递增的一个集合q(即凸点集),然后后面枚举的点只需要在这个集合中找切点即为该点满足题意的最优斜率。注意比如从1~5,有3个‘1’,除数不是5-1=4,要注意它占了1,2,3,4,5,5个位置,所以除数是5,所以枚举两点的时候要注意。
题目大意:给出n和L,表示有一个长度为01组成的字符串,要求找出子串长度不小于L,且含有1的平均值最大,长度尽量小。
解题思路:树形结合,将字符串的每个位置对应成xOy坐标上的点,那么平均指即为两点之间的斜率。
然后维护一个相邻两点斜率递增的一个集合q(即凸点集),然后后面枚举的点只需要在这个集合中找切点即为该点满足题意的最优斜率。注意比如从1~5,有3个‘1’,除数不是5-1=4,要注意它占了1,2,3,4,5,5个位置,所以除数是5,所以枚举两点的时候要注意。