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