LoginSignup
1
0

知識ゼロからAtCoderにチャレンジしてみた話【はじめてのぎょくさい】

Last updated at Posted at 2024-06-02

気がついたら終わってた

はじめに

  • AtCoderの概要を知った後の最初の週末のコンテストに突撃してみた。
  • 当然のように玉砕したね。
  • 何の参考にもならないかも知れないけど、まだ始めてない人は雰囲気を掴めるかも。

事前勉強

  • Beginner Selectionの問題の上から順に鏡餅まで終わらせた。この程度だと、ロジックは少し考えれば思いついたけど、細かい文法を覚えてないから、それを確認するのに時間がかかった。同じ問題を複数回提出してるのは、間違えたのとか、速度向上を狙ってやり直したのがあるから。間違えたのも含めて、全て履歴が残るのはいいね👍️
    スクリーンショット 0006-06-02 18.37.25.jpg

参加申込み

  • 前回は新規登録と、非レーティングのコンテストに参加したけど、レーティング付きのコンテストの場合は、「参加登録」ボタンを押した後、「Rated参加登録」か「Unrated参加登録」を選ぶことになる。ただし、運営側としては、基本的にRatedを選ぶように推奨している。(下図は、今月末に予定されているABC360の例。実際に突撃したのは、ABC356。)
    スクリーンショット 0006-06-02 17.10.09.jpg
    スクリーンショット 0006-06-02 17.12.59.jpg
    スクリーンショット 0006-06-02 17.17.08.jpg

コンテスト直前

  • 開始2秒前のブラウザ。SideKickというブラウザが標準で画面分割できると聞いたので、左に問題を見ながら右でコードを打てるように導入してみた。コードの試し打ちは、paiza.ioを使うことにした。本当は、playgroundsを使おうとしたんだけど、なんとplaygroundsは標準入力の画面がない。酷いよね。
    スクリーンショット 0006-06-01 20.59.57.jpg
  • 問題は、A〜Gの7問あるけど、Aが一番簡単で、⇒B⇒C⇒・・・と難化していく。

コンテスト結果

  • 自分の場合は、問題Aに20分、問題Bに30分、問題Cを飛ばして、問題Dに取りかかったところ、ロジックはそれ程難しい話ではないと思ったものの、実際に走らせてみるとpaiza.ioでもatcoderのコードテストでもtimeoverしてしまい、timeover回避方法も思い浮かばず、結局時間切れ。よって、250点しかとれず、下位2割に入ってしまった。
  • 問題Cについては、当日は問題文が頭に入ってこなかったので、簡単そうな問題Dに先に取りかかったけど、翌日に改めて問題文を読んだら、ちゃんと理解できた。
  • そもそも、問題文だけだと分かりづらいので、例示(入力例・出力例)を読むことが重要だと理解した。
  • で、内容を理解して問題Cのコードを書いたけど、提出結果は「TLE:実行時間制限超過」となった。これは、本番だったら部分点が付いたのだろうか?半分以上は時間内に終了してるけど。
    1000001444.png
  • うーむ、問題Cも問題Dもロジックは思いついたのに、時間効率の良い解法になってないのか...
  • 問題E以降は、読んですらいないし、読む気も湧かない。とりあえず、問題C、Dの解答の何が悪かったのかの分析をしないとね。

レーティング

  • ランキング最高位の人のレーティングが3800点くらいのところ....9点!
  • 凄いね、最高位の人の0.2%のレーティングしかないとか。
    スクリーンショット 0006-06-02 19.31.02.jpg
  • でも、最も人数が多いのは2点の人達なんだよね。参加したけど1問も解かないで止めた、とかなら0点じゃないのかな?変な気もするけど、イロレーティングと似たような考え方なら、0点じゃなくても変じゃないか。

終わりに

  • 100分はあっという間に感じたけど、終わった後、どっと汗が出てきたから、体力的には辛かったのかな?
  • 次は、問題C,Dの効率的な解法を理解してから臨もうと思う。もし、A-Dを全て正解すれば、950点になるけど、これは、参加者11500人中の1350位(上位12%)〜3500位(上位30%)に相当する。
  • とりあえず、問題Dまでの完答を目指すね。
  • (追記)最終順位が、11583だから、参加者もそのくらいかと思ったけど、最終順位って、1問も解いてない人たちだから、同順の人が結構いる。だから、参加人数はもう少し居るみたい。
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0