2026年10月16日金曜日

オムロンプログラミングコンテスト2026 (AtCoder Beginner Contest 479)

 Eまで五完。

コンテスト後のツイート

F - Narrow Passage

 概ね自力でAC。解法ツイートは見たけど、それはあまり参考にせず解いた。
 結構時間がかかったので、Gに行かずFに集中していれば解けたかは微妙なところ。

 S[i]→T[i]へ線を結んだものを考える。
 基本的には、abs(S[i]-T[i])の和だが、交差している場合をどうするか。

・a→b(a<b)とc→d(c>d)が、逆向きに交わっている場合、答えを+1(交差するときの操作)し、a+1→bとc-1→dの操作と捉える。
・a→b(a<b)とc→d(c<d)が、c<a<b<dのように、抜かしている場合、答えを+1し、a-1→bとc+1→dの操作と捉える。

 のようにすれば良い。
 交差の回数はBITを使えば求めることができる。

0 件のコメント:

コメントを投稿