2026年5月18日月曜日

SMBCプログラミングコンテスト #1(AtCoder Beginner Contest 458)

 Eまで。またレート1800を割る。

コンテスト後のツイート

F - Critical Misread

 コンテスト中の方針で大まかなものはあっていたが、どこでWAになるか分からず、ランダムテストでACしている提出と比較した。

 ミスは次のようなものだった。
 たとえば、"bcb"と"c"がある場合に、"bcb"が出たらそもそもいけないのだが、"bc"や"bcb"もノードとして数えてしまっていた。
 そのようなものを削る前処理を行ったらAC。

 Aho-Corasick法を使う場合に、必要になることが多い前処理という気がするが、知らなかった。

 そして、AIに聞いたところ、Failure_pathを利用して"c"に印がついているなら、"bc"にも印がつくようにする、という構築を行うのが一般的らしい。勉強になった。

0 件のコメント:

コメントを投稿