C. Binary String(二分)C. Rooks Defenders(set + 二分)
首先想到,枚举留下的字符串区间[l,r],对于每个l,枚举r利用前缀和与后缀和求出枚举区间剩下的0的数量和删除的1的数量,求最小,很显然这样会超时,考虑如何优化,仔细观察可以看出,在枚举r的过程中,如果此时剩下的0的数量>删除的1的数量,那么我们此时的r如果再向右扩展的话,剩下的0的数量只可能增加,删除的1的数量只可能减少,那么答案显然就不是最优的了,反之,如果此时剩下的0的数量>删除的1的数量,r向左扩展答案也不是最优的。因此,根据这一性质对于每个l我们二分查找最优的r。............
原创
2022-07-15 12:13:16 ·
389 阅读 ·
0 评论