Toy と帽子と ADP BE

主にプログラミングに関わる話をゆるくエモくやっていきます

ユニークビジョンプログラミングコンテスト2022 夏(AtCoder Beginner Contest 268)

4完1WA。

各問題

A - Five Integers

5つの整数を set に入れて、size を取ればよいです。

B - Prefix?

1文字目から順に判定していけばよいです。|S|>|T|のときは成り立たないことに注意。

C - Chinese Restaurant

各料理が何ターン後に人を喜ばせるかを計算して集計すればよいです。集計するための配列を N*2 分用意しておくと計算が楽になります。

考察一発だったのに、実装に手こずって5分以上ロスしてしまった...。

D - Unique Username

M個を超える文字列を用意できた場合、必ず条件の3つめを満たす文字列が一つはあることが鳩の巣原理より証明可能です。

というわけで、再帰などを使って作り得る文字列を全探索していくと最大M+1個作ったところで答えが見つかります。答えが条件の3つめを満たしているかは set を使って log(M) で出来るので、都合 Mlog(M) で答えを求めることができます。

ところで、3文字以上という条件をスッポ抜かして1WA。そんなコーナーケース要ります?!

E - Chinese Restaurant (Three-Star Version)

サンプルの3つめの 20 の意味がまったくわからず、スルー。

F - Best Concatenation

こちらのほうがワンチャンありそうだと思ったのですが、愚直解を書いてみて出来上がったTがなんでそうなるのか理解不能...。

まとめ

青パフォは逃しましたが、半年ぶりにレート1300超えたので満足です。