BZOJ4028 [HEOI2015]公约数数列 分块
给定一个数列,要求资磁以下两种操作:
1.单点修改.
2.求数列中最前的位置p,使前缀最大公约数gcd*前缀异或和xor==一个输入的数x.考虑分块+暴力.
按照n√\sqrt n分块,求出每一块的前缀gcd和前缀xor.
单点修改时对所在块暴力更新gcd与xor
每次更新的复杂度是n√logn\sqrt n \log n.查询时分两种情况①如果GCD(gcd_now,gcd_pre)==
原创
2017-12-31 12:32:22 ·
332 阅读 ·
0 评论