POJ 2763 "主婦の風"(DFS +シーケンス+フェンウィックツリーLCA)

 

ポータル

 

•問題の意味

  XXの村に住む夫婦、村に$ N $キャビンがあります。

  $ N $キャビンの間にアップ双方向への道は、その数字は木で構成され、鳴りません、あります。

  $コテージa_iを$から$ b_i $ $ $ w_iロッジに時間がかかります。

  当初、q倍の2つを、以下を求めるために、それぞれを尋ね$ S $号のキャビンで女性のリードがあります。

    • 0 U:彼女は、$ U $のハウスナンバーで子供を持っていた、あなたが最短時間で$ U $に彼女の家庭のお母さん、$ sに$からの出力を取る必要があります
    • 1×ヴァル:様々な理由のために、$ X $道路の$のw_x $を消費する前に、$ valをする$となり

•問題解決

  

  示すように、ツリーの動作中に、いくつかの不便を構造を考えてみましょう、私たちは、シリアル化する必要があります。

  DFS配列に変換した上で示したツリー;

  $ 1 \見落とさ{\ {\ LEFTARROW 2} {{2,4} -w_を見落とし} \ {2,4} {\右矢印4} {W_を見落とし} \ {右矢印2 \} {1,2} {W_を見落とし} W_} {2,5} {\右矢印} 5 \は見落とさ-w_ {{2.5} {} \} 2左矢印\は-w_を見落とし{{1,2}、{\ LEFTARROW} 1 \はW_ {{1を見落とし、3}} {\右3}矢印\ {-w_ {1,3}} {\ LEFTARROW} $ 1見落とし

  そして、葉の正の方向に体重を作るために、方向に沿ってルートがマイナスです。

  そして、$ V $から$ U $の最初の出現の位置からの位置が最初に表示され、$ Uに属していない、パスでV $エッジがオフセットされます。

  次にあります。

    $(U、V)の間の距離$ =($ LCA(Uから、V)$エッジの重みの$ U $へと)+($ LCA(Uから、V)$ $ V $側にそして、重み)

  それは、単一のポイント更新ですので、私たちは秩序を維持するために、DFSフェンウィックツリーを使用することを検討することができます。

おすすめ

転載: www.cnblogs.com/violet-acmer/p/11782617.html
おすすめ