AtCoder Beginner Contest 251 C問題 Poem Online Judge
問題
提出解答
問題の概要
個のポエム と, 各ポエムに対する得点 がある.
次を満たすようなポエム はオリジナルであるという.
- を満たす全ての整数 に対して, である.
オリジナルのポエムのうち, 得点が最大であるのはどれか? なお, 同率である場合は添字が最小であるものとする.
制約
- 以上 以下の文字列
解法
ポエムがオリジナルかどうかの判定は辞書や集合を用いて既出判定を行なうことにより可能である.
可能なポエムを とする. このとき, 各集合 を
とし, 上の順序を辞書式順序とすると, は全集合になる. そこで, とすると, 実はこの が答えである.
実際, 第1要素が小さいということは, が大きいということを意味し, 第1要素同士が等しいときは第2要素. つまり, 添字が小さい方が小さいということになる. これにより, 確かに, が答えになるということがわかる.
よって, オリジナルポエムかどうかの判定で辞書や集合を用いることにより, 計算量 で求めることができた.