freee プログラミングコンテスト2023(AtCoder Beginner Contest 310)
まとめ
ABCDEの5完。
そこそこ良いパフォーマンスを出せた。
問題がそこそこ難しい感じだった。特に序盤からややこしい問題が出ていた印象。
よくなかった
A, B でそれぞれ問題を誤読・見落としてWAを出してしまった。
Fは解けそうな予感がしたので、できれば解いておきたかった。
よかった
Eまで60分間程度で解けたこと。
特にC以降はミスもなく、大きく迷走することもなかったのは素晴らしい。
F問題は解けなかったけど、段階を追って実現可能なステップを具体化して考えることができた。(方針が合ってるかどうかはまだわかっていない)
問題ごとの感想
A - Order Something Else
入力が多いA問題。
クーポンが「値引き額」だと誤認してしまってWA。
B - Strictly Superior
条件が複雑なので、問題文をよく読むのが最も重要。
「Pi > Pj」の条件を見落としていて1WA。よく読んでいないとこうなる。
早めにリカバリできたのは良かったかもしれない。
C - Reversible
通常のもの、反転したやつの2つのうち辞書順で若いものだけを Set に入れて判定した。
Bよりも実装が軽いので簡単かもしれない・・
D - Peaceful Teams
かなり難しい問題。でもチーム分けの組み合わせ全量は全探索できる程度、というのが感覚的に身についている。なので、基本的には全探索をしていくことを考える。それをうまくできる方法を考える必要がある。
完成したコードはだいぶ異なるけど、メンバーのチーム分けをDFSで実施する方向性は似ている。
E - NAND repeatedly
DPか累積和か迷った。
板書の結果、これはDPでいけますねという結論に至った。板書は大事。
F - Make 10 Again
解けなかった。方針は色々と考えられていたのだけど、答えが合わなかった。
作りたいのは 10 という数だけなので、10を超えるサイコロの目はほぼ無視して考えれば良いはず。
板書
https://scrapbox.io/files/64b2b49914d450001b57fa53.png