NECプログラミングコンテスト2022 (AtCoder Beginner Contest 267) F - Exactly K Steps (500)
木の直径になる端の点2つを求めておく
適当な点からDFSして一番遠い点からDFSし一番遠い点を求める
一番遠い点として求めた2点がそれになる
それぞれ左、右の点とする
それぞれの$ a,bで以下を行う
左の点からの距離が$ b以上なら$ aの左の点に対して$ b個祖先を出力
これはダブリングで事前に求めておく
左の点で条件を満たしていなかったら右の点で同様に求める
両方で条件を満たしてない場合は-1
問題: https://atcoder.jp/contests/abc267/tasks/abc267_f
提出: https://atcoder.jp/contests/abc267/submissions/34561885
#NECプログラミングコンテスト2022 #NECプログラミングコンテスト #ABC267 #500pt #F #ABC #AtCoder
#ダブリング #木の直径