【BZOJ4028】[HEOI2015]公约数数列
https://www.luogu.com.cn/problem/P4108
求解最靠前的一个位置前缀gcd和前缀异或的乘积恰好等于x,并且要求支持单点修改
首先我们可以发现这个问题没法使用线段树维护,因为不仅前缀没有单调性,而且修改也难以处理,所以我们考虑分块。
首先单点修改就变得很简单了,直接对应块暴力重构即可,然后查询的时候利用到一个性质,就是本质不同前缀gcd只有O(logn)种,对于块内gcd会改变的的只有O(logn)块,对于这些块暴力处理,对于gcd不变的块二分即可。
所以只有分块才能够恰好利用前缀gcd数量级很小的性质。