考虑莫队。
首先不难想到用 BIT 维护,查询修改都是 \(O(\log n)\) 的,时间复杂度 \(O(q\sqrt{n}\log n)\),不幸的是,它 TLE 了。
考虑把 BIT 换成别的数据结构,观察修改和查询次数的数量级,不难发现修改次数比查询次数多得多,那么考虑修改快,但是查询慢一些的数据结构,比如说分块。
换成分块就可以通过本题,注意不要经常取模,取模真的很慢。
Link。