Toyota Programming Contest 2023 Spring Qual B(AtCoder Beginner Contest 290)

tokuminiさんのToyota Programming Contest 2023 Spring Qual B(AtCoder Beginner Contest 290)での成績:672位
パフォーマンス:1665相当
レーティング:1815→1801 (-14) :(
https://atcoder.jp/users/tokumini/history/share/abc290?lang=ja

 A〜E問題までの5完。順位表を見ず解いていくのに慣れてきた。出題者と自分の1vs1。

 疲れていたわりには考えられている気がしていて、体感パフォーマンス1800はあるだろって思っていたらそんなことはなかった。D問題の2WAが厳しかったかな。

A - Contest Result

 いつもなら入力取った時点でBの要素をマイナス1しているんだけどな。

提出

B - Qual B

 変にコーナーケースがありそうで怖かった。

提出

C - Max MEX

 連続する要素を取り出すのかと勘違いして別の問題を解いていた。これならmaxだけじゃなくて全部答えさせるよなぁ……と違和感はあったのに。

 勘違いに気づいた後もわりあい混乱して時間がかかった。これに10分以上かかっている時点でやっぱり頭は回っていないか。

提出

D - Marking

 難しいとは思わないんだけど、こういう問題を正確に考えるのがとても苦手。先にできる限りのテストケースを列挙とかしておくべきなのかもしれない。それだとテストを自動実行する環境とかも欲しくなる。そのあたりに手を入れるかどうか。

提出

E - Make it Palindrome

 サンプルの「5 2 1 2 2」がわりと考えるうえで使いやすいもので助かった。

 5を左として見ると、その右の5以外とペアになったときにスコアに1が加わる。

 次の2を左として見ると、その右の2以外とペアになったときにスコアに2が加わる(2,x)だけでなく(5,2,x,x)として伸ばせるので加算は2。

 このように、左が幅の制約になるのは中央まで。右からも同じように考えると解けている。体感ではD問題よりこういう方が簡単。

提出

F - Maximum Diameter

 言っていることがすごく、解ける感じがしない。雑に組み合わせを計算してみるとだいたい値のスケール感は近い値が出てくるので、そんな感じなんだろうとは思ったけど、具体的にはわからず。

所感

 テストケースを先にちゃんと考えておく戦略はいいのかもしれない。普段、なにか新しいケースを考えたときに適当なテキストファイルを開いてそこに書いてしまうが、コード書いているところに追加してテスト回すようにしてみるか。