bzoj 1878

Posted on 2017-07-14 14:54  Amphetamine  阅读(117)  评论(1编辑  收藏  举报

莫队乱搞的第一题,(感觉这个算法初学的时候就能想到啊)

总之就是离线,然后扫一遍然后回答,用数组记录状态

 

但还是有一个地方不太明白

为什么要除siz?这样为什么会优化复杂度呢??
bool cmp(const T & aa, const T & ss) {
    if (aa.l / siz == ss.l / siz) {
        return aa.r < ss.r;
    }
    return aa.l / siz < ss.l / siz;
}
  

int main(){
    int n=read();
    siz=(int)sqrt((float)n + 0.5f);

@Doggu