BuringStraw

BuringStraw

CDQ分治のまとめ

一週間のサボりの後、私はついに cdq 分治を理解しました。

全体的に見ると、cdq 分治は偏序問題を次のように処理します。

  • まず左側と右側を一つの完全な問題として扱います。
  • 次に左側が右側に与える影響を右側に統合します。

例題#

園丁の悩み#

伝送門

静的領域内の点数を求める、二次元偏序テンプレート問題。

樹状配列 1#

伝送門

操作が発生する時間を第一次元と見なすだけです。

後の数の修正は前の累積和に影響を与えません。

陌上花開(三次元偏序)#

なぜ「陌上花開」を最初に書くのか?それは見た目がかっこいいからです

第一次元でソートし、第二次元は元のように大小を比較し、値域の樹状配列を使って 0〜x の範囲内の第三次元を統計します。

重複を避ける必要があります

モキア#

伝送門

実はこれは Nokia です

元々は二次元でしたが、時間の順序を加えると三次元になります。

樹状配列のインデックスは 0 にできません

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。