CF1643F题解
容易想到维护 \(c_i=a_i-b_i\),最后只用看 \(c\) 是否全是 \(0\)。
看到区间加后想到维护 \(c\) 的差分,而且 \(c\) 全为 \(0\) 等价于差分全为 \(0\),但普通的差分可行是因为增量满足递推式 \(a_i=a_{i-1}\),这样前减后就刚好抵消,但现在增量满足 \(f_i=f_{i-2}+f_{i-1}\),所以要减两项才能抵消,维护 \(d_i=c_i-c_{i-1}-c_{i-2}\) 就行了,以修改 \(A\) 为例,修改 \([l,r]\) 只需将 \(d_l+1\),\(d_{r+1}-f_{r-l+2}\),\(d_{r+2}-f_{r-l+1}\)。
浙公网安备 33010602011771号