SPOJ-ZQUERY-分块求区间内和为0的最大长度
题目大意:给定一段只包含-1,1的序列,每次询问区间内满足区间和为0的最长子区间长度;
题目解析:分块真的是个很神奇的东西。朴素做法是每次询问搞出前缀和,然后二分,复杂度为M*N*logn,考虑分块的做法,其实就是预处理出每个块的答案,然后询问的时候只需要考虑不在最大块里面的元素即可,总时间复杂度降为M*N^0.5*logn;
AC代码:
#include
using namespace s
原创
2017-11-16 13:38:01 ·
990 阅读 ·
0 评论