Codeforces 718C Sasha and Array(線段樹維護矩陣) 阿新 • • 發佈:2018-12-24 線段樹上區間加和,求和時候值變成斐波那契數列下標,對斐波那契數列求和 首先想到循環節,但是應該很大,所以GG 然後就是想到對於斐波那契數列啊,有矩陣遞推 比如這裡是x,值就是f(x),那麼然後加a,就是f(x+a) f(x+a)和f(x)就是多成了a次系數矩陣 再考慮到區間求和,對於矩陣B∗A+C∗A=(B+C)∗A,有結合律 所以直接每個節點維護系數矩陣,列向量初始是[f1,f0] 然後每個節點的矩陣就是Ax−1 線段樹nlogn的復雜度,矩陣乘法取模,常數巨大 所以如果lazy標記存值,那麼復雜度就是nlognlogn,就T