2022年6月30日木曜日

日鉄ソリューションズプログラミングコンテスト2022(AtCoder Beginner Contest 257)

  Eまで五完。

コンテスト後のツイート

 F - Teleporter Setting

 解法ツイートを見てAC。

 スタートとゴールから各点への距離を求めておく。テレポートするとき、利用したい点は、スタートかゴールかのいずれかに近い点なので、それぞれ最も近い点を求めておく。

 ここで、未定の点がxと決まったとき、テレポートの使い方は、

・1→(1に近い点)→x→N
・1→x→(Nに近い点)→N
・1→(1に近い点)→x→(Nに近い点)→N

 の三通り。
 この三番目の場合に気付かなかったため解けなかった。
 別な問題を考えたりしてちょっと時間を置ければ気付けた気もするけど、そういう余裕がなかったね。

G - Prefix Concatenation

 解法ツイートを参考にローリングハッシュ+二分探索を書いたがTLEが取れず。
 解説を見て、KMP法を使ってACした。(Z-algorithmを使う方法は理解していない)

 色々な文字列アルゴリズムはがあるけれど、ローリングハッシュ(とManachar)以外は(コードの書き方だけでなく)内容も思い出せなくて困る。

 困るんだけど、ローリングハッシュでどうにかなることも多いから、ちゃんと覚えなきゃ、という気にもならないんだよね……。

0 件のコメント:

コメントを投稿