はじめに
毎週取り組んでいる「AtCoder Beginner Contest」の感想・まとめをこちらの記事に散文的にまとめていきます。
使用言語はC++です。
「未着手」は手を付けていない問題。
「未提出」は手を付けたけれど提出はしていない問題。
結果
- 順位: 4642nd / 12626
- 点数: 600点
- time: 62:04
- pef: 777相当
- rating: 263 → 313 (+50) Highest更新!
- 完問数:3完 ABC
問題別評価
A問題
- AC 4:09
- 実行結果
「正数列の途中にある値を入れましょう」という問題。方法としては
- 配列に差し込んで出力する
- 配列の出力の途中である値を出力する
がある。後者の方法が簡単だと思うのでそちらで実行した。ただ細かい処理の違いでミスってしまった。
B問題
- AC 62:04
- 実行結果
三次元空間にある2つの箱が重なっているかどうかを判定する問題です。この「重なっている」をどのように解釈するかが鍵です。
数直線を考えます。数直線上に異なる線分を2つ用意して。その2つが重なっているかどうかを確認することを考えます。それをxy平面、yz平面、zx平面で確認します。気づくのにすごく時間がかかりました。
C問題
- AC 34:39
- 実行結果
配列の中から「最大-最小」が最小にする問題です。配列を昇順にして下からn-k個を順番に判断していけば正解できます。
D問題
- 未提出
さっぱりわかりませんでした。なにか簡単な方法があると思っていたのですが解説をみるとBFSで解くようです。意外と処理の量が多くないのでできるみたいです。誰か詳細をおしえてください...(泣)
E問題
- 未着手
F問題
- 未着手
G問題
- 未着手
総評・まとめ
久しぶりのRateで緊張しましたがかなり調子が悪くてA問題しか解けないかと思いました。最近の精進がA問題しか解いていなかったのでBCも厳しかったです。基本的にE問題以降はグラフ理論になるのでD問題くらいまでは一般的な(?)アルゴリズムで解けるはずなのでこの難易度の問題を日々精進しようと思いました。
今日の学び
- 一日一精進(AB+茶色)を解く
- Qiitaの記事にして理解を深める