右側と右側のツリー変換チェーンスプリットポイント

それは木であるため、それは直接uと点vが点Vの右側にサイドダウン(U親ノード、子ノードvを仮定して)点の間であってもよいです

次いで、これを点の間の重量のU Vパスに右点、時間クエリ点に変換し

そのクエリは、uからvへの経路上の第二の点、及び重みVであるので、右側にU U U親ノードがポイント以降

 

2つのノード間の経路長クエリ機能ツリーを変更する
 int型 QueryPath(int型の Xは、int型} Y)を{ 
最後段部シーク

/// 点右バージョンを
IF(P [X]> P [Y])スワップ(X 、Y);
 戻り ANSクエリ+(P [X]、P [Y]、1。、POS、1。);
 /// エッジ重みバージョン
IF(X == Y)戻りANS;
 IF(DEP [X]> DEP [Y])スワップ(X、Y);
 戻り ANSクエリ+(P [ソン[X]、P [Y]、根)。

 

おすすめ

転載: www.cnblogs.com/shuaihui520/p/11200900.html