如果值域小一点。
那么我们有一个很精妙的做法。
分块完维护数字\(cnt\),和一个\(bitset\)信息。
然而小不得。
那么我们考虑维护后缀\(nxt_i\),表示第\(i\)位后,最近的\(a_i + a_{nxt_i} = w\)
线段树维护。
考虑到我们对于所有的相同\(nxt_i\),只有最后一个有效,那么我们只维护最后一个。
那么一次修改操作只会改变常数个数的值。
如果值域小一点。
那么我们有一个很精妙的做法。
分块完维护数字\(cnt\),和一个\(bitset\)信息。
然而小不得。
那么我们考虑维护后缀\(nxt_i\),表示第\(i\)位后,最近的\(a_i + a_{nxt_i} = w\)
线段树维护。
考虑到我们对于所有的相同\(nxt_i\),只有最后一个有效,那么我们只维护最后一个。
那么一次修改操作只会改变常数个数的值。