プライマー
点線ルールはケースに重みが木が行う変更する必要があり、良いことです......
アルゴリズムのプロセス
- パーティションのポイント、初期データを計算します。
- 点線のツリーを構築します。
- 点線のツリー内のデータのメンテナンス。
点線ツリー:パーティションの時点で元のツリーの重心レベル呼ば点線ツリーを接続するデータ構造。
それは非常に美しい自然があります。木の高さスケール\(\ N- \を記録します)。
このプロパティによると、我々は、右のポイントを変更することができ、ツリーで1つ上のレベルに行く、それぞれの祖先のための1つの保守データずつ点在。
さらに、我々はまた得ることができる(\ \ sum_サイズ[U] = N- \ N- \ログ{VにおけるU \}) 、\(Vが\)ツリーの点の集合であり、\(サイズ[U]は\)ポイントであります\(U \)サブツリーのサイズは、ツリーを点在しました。
点線の木のツリーの高さは:理解することができます(\ \ログn)は\各ノードにのみカバーされるように、(ログのn \ \)\回。
このような性質で、我々はいくつかを達成することができます 熱狂 そのような各ポイントの優先度キューを開くなどの操作を、夢。
:個人的に私は、動的に重要な嘘がルールに点在していることを考える私たちは分割統治に必要なデータポイントのプロセスを見つける、およびデータを維持するために適切なデータ構造を使用します。
これで問題が解決した場合、パーティション対象の動的ポイントが解消される。もちろん、その後、いくつかのトピックのために、コードの量はまだ問題があります。
タイトル
【ZJOI2007】非表示とは、シーク(このルールはロスバレー最後の点は、T高い確率であろうオンに質問は、動的な最適解を点在ない、bzojに回転することができる)(bzoj1095)
参考資料
ダイナミックポイントの分割統治 ZZQによって
問題のP2056の解決策[[ZJOI2007]かくれんぼ ywy_c_asmで