【AtCoder】【C#】AtCoder Beginner Contest 152 の反省
今年は、コンテストの反省を書くのをやめようと思いましたが、あまりにもABC152で反省しておきたいことがあったので書きます。AtCoder Beginner Contest 152の反省です。
はじめに
本記事のテーマ
完全に自分用の記事です。ABC152でとった戦略や解けなかった問題の復習をします。
コンテストへのリンク
本題
A問題の反省
特にないです。
実装 AtCoder/A.cs at master · chittai/AtCoder · GitHub
B問題の反省
最終的にfor文で実行したが、どのような処理にするのか迷いがあった。C#においてはfor文で問題ないと思う。ただ、実装にまごついて時間がかかりすぎてしまった。
実装 AtCoder/B.cs at master · chittai/AtCoder · GitHub
C問題の反省
これは、特になし。全探索しようとするとO(N2)かかり、TLEしてしまうので、O(N)でできないか考えた。
- 最初から要素を確認していき、最小値を記録しておく
- その最小値以下の値が出ていたら、条件を満たしているのでカウンタにプラス
- 最小値を更新
のやり方でOK。
実装 AtCoder/C.cs at master · chittai/AtCoder · GitHub
D問題の反省
ここが問題。D問題はある程度やり方がわかったのですが、ちょっとE問題を覗いてみたところ、簡単そうに見えたのでそっちに手を出してしまいました。
これはかなり悪手で、当然E問題がそんなに簡単なはずはなく、解けませんでした。やはりレートが低いうちはちゃんとD問題まで解ききらないと駄目だなと。。
解き方の説明は省きます。
実装
AtCoder/D.cs at master · chittai/AtCoder · GitHub
感想
ということで、今回は調子にのってDを飛ばしてE問題に挑戦したことが駄目でした。もちろんそのままD問題をやっていて解けたかは不明ですが、解ける可能性はEよりもDのほうが高かったなと。
今後は、D問題まではちゃんと順に解いていこうと思いました。