莫队卡常

分块大小改为n的2/3次方

int block = (int)pow(n,2.0/3.0);

当两个查询左端点在相同块时

如果左端点所在块是奇数块,则右端点按升序排序

否则,右端点按降序排序

if(idx[a.l]!=idx[b.l]){
            return idx[a.l]<idx[b.l];
        }
        if(idx[a.r]!=idx[b.r]){
            if(idx[a.l]&1){
                return idx[a.r]<idx[b.r];
            }else return idx[a.r]>idx[b.r];
        }
posted @ 2025-08-13 17:25  Marinaco  阅读(10)  评论(0)    收藏  举报
//雪花飘落效果