問題はこちら
問題概要
整数が与えられる.次の条件を満たす頂点
の個数を求めよ.
から根への最短パス上に頂点
が存在する.
から根への最短パスに含まれる辺の数がちょうど
である.
解説
根から頂点DFSで訪れた順で頂点を並べてみると,ある部分木の頂点は連続していることがわかります(典型).よってDFSで頂点を見ていくことにします.現在見た中でとなる頂点
の数を
として,これを記録しながらDFSを行います.ある頂点
を訪れた時の
の状態と去る時の
の状態の差により
となるクエリの答えが求められます.保持しておく「頂点
を訪れた時の
の状態」は
となるクエリの
の値だけでいいので
で解けました.
あとからもっと詳しく書くかも.