小a的轟炸遊戲(差分,字首和)

2022-07-13 17:09:07 字數 979 閱讀 9755

題目傳送門

題意:給出乙個n*m的矩形,然後有兩個操作.

1操作,對乙個給出的菱形,對菱形範圍內的東西進行+1。

2操作,對乙個上半菱形的區域,進行+1操作。

最後求矩形內各個數的異或和。

思路:在矩形中,我們在四個角上進行++--,然後利用差分的性質,就解決了區間更新,

但是在這裡,想破腦汁,也沒想出怎麼進行++--。因為矩形的差分是橫著或者豎著的,

最後的求和非常容易,但是這裡不一樣。最後看了題解豁然大悟,原來差分還可以動態的來,

本行的差分陣列使用完了,還可以把差分陣列下傳,繼續在下一層繼續起到作用,這是神奇的操作。

參考:

動態差分 二維字首和 小a的轟炸遊戲

小a正在玩一款即時戰略遊戲,現在他要用航空母艦對敵方陣地進行轟炸 地方陣地可以看做是n m n mn m的矩形 航空母艦總共會派出q qq架飛機。飛機有兩種,第一種飛機會轟炸以 xi yi xi,yi xi,yi 為中心,對角線長為l i lili的正菱形 也就是兩條對角線分別於x xx軸 y yy...

小a的轟炸遊戲 動態差分 好題

小a正在玩一款即時戰略遊戲,現在他要用航空母艦對敵方陣地進行轟炸 地方陣地可以看做是n mn m的矩形 航空母艦總共會派出qq架飛機。飛機有兩種,第一種飛機會轟炸以 xi,yi xi,yi 為中心,對角線長為lili的正菱形 也就是兩條對角線分別於xx軸 yy軸平行的正方形 而第二種飛機只會轟炸正菱...

字首和 差分

數列的字首和 sum i 表示a 1 a i 的和 用處1 求i j的和sum j sum i 1 用處2 區間修改。設定乙個change陣列。當區間 i,j 上要加k時,我們令change i k,令change j 1 k。如果我們對change陣列求字首和的話,字首和sum change i ...