20220404 刷題日記

P7143

注意超貢獻的應用,我們考慮一個區間的貢獻,由於線段樹的結構不難想到分治結構,答案是左邊的貢獻,右邊的貢獻,和跨中點的貢獻,我們只需要考慮跨中點的貢獻,剩下的左右遞歸用記憶化即可。我們考慮如何計算這個貢獻,我們考慮設 \(l_n\) 表示長度爲 \(n\) 的區間,所有前綴貢獻,\(r_n\) 表示所有後綴貢獻,那麼我們考慮跨中點的貢獻實際上是左邊的後綴和右邊的前綴貢獻和,只需要分別乘上他們出現的次數,注意最後可能需要 \(-1\),目的是去掉整個區間被算重的部分,同理,\(l_n,r_n\) 也是可以遞歸計算的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章