Sasha and Array
典題,但還是第一次見。
首先看到斐波那契數列,可以想到矩陣快速冪。
想到這一點之後,很大一部分都解決了。對於修改操作,實際上就是乘以一個矩陣。對於查詢,就是矩陣加法。
考慮用線段樹維護矩陣。首先區間和可以矩陣加法直接做。由於我們需要區間乘,需要考慮如何下傳標記,然後發現矩陣滿足分配律,即 \(A\times C+B\times C=(A+B)\times C\)。所以在維護好的區間和上直接乘上轉移矩陣就行。同時下傳標記由於矩陣滿足分配律也是可以合併的,懶標記相乘即可。