鴨井遼 競技プログラミング

競技プログラミングについての日記(更新は終了しています)

AOJ 1196 Bridge Removal (ICPC Domestic 2014 E)

judge.u-aizu.ac.jp

 

島の数がnで橋の数がn-1の連結なグラフなのでサイクルが存在しないということが分かれば簡単な問題。次数が1の島には行かないで橋を撤去するだけ、次数が2以上の島にはいって帰ってきて橋を撤去する、という時間を合計してから次数が1の島を除いたグラフの二点間の最長距離を引く(この二点が始点と終点になる)。

 

距離が最長の二点を探すときに実装が簡単だし n \le 800なのでWF法で良いと思ったのだが、AOJは全サンプルを指定時間内に終えないといけないのでTLEになった。この時点では30分台で実装できていたし、本番では間に合うくらいの速度だったので悪くなかったと思う。距離をBFSで求めるコードに書き換えてAC。

 

judge.u-aizu.ac.jp