H - 圧縮おみくじ (Compressed Omikuji) 解説 by maspy
https://github.com/yosupo06/library-checker-problems/issues/934
同じ長さの区間 2 つの \(k\) 番目の点同士をマージできるタイプの union find を使えばよいです。
アスタリスクの文字を \(x_0,\ldots x_{n-1}\) とするとき,
\[(x_0,\ldots,x_{n-1},x_{n-1},\ldots,x_0,a,b,\ldots,z)\]
という列を用意しておきます(まず,\(i\) 番目と \(2N-1-i\) 番目をマージします).条件はいたるところ,この列のある区間と区間の一致という形でそれをマージしていきます.
最後に,\(a,b,\ldots,z\) に相当する点の成分がすべて異なること場合に Yes
、そうでない場合に No
を出力します.
投稿日時:
最終更新: