LoginSignup
7

More than 5 years have passed since last update.

1ヶ月、AtCoder をやってみた

Last updated at Posted at 2018-12-25

AtCoder を1ヶ月やってみた記録です。
箇条書きでメモみたいな感じになっています。ごめんなさい。ぺこり。

11月19日(月)

  • このツィートを見て、去年の競プロ忘年会で、AtCoder をやると言ったような記憶が甦る
  • 使用する言語は、まったく使ったことがない Rust か、以前挫折した Scala か、とも思ったものの、Python もあまり使ってないので、Python とすることに
    • Python3 がインストールされていないマシンには brew から pyenv, python3 をインストール
  • この時点で AtCoder の「予定されたコンテスト」を見たところ、今年の忘年会までに開催される ABC などの初心者向けのレーティング対象コンテストが掲載されておらず、絶望する
  • とりあえず、AtCoder Beginners Selection をやってみることにする
    • 2問ほど、1回で AC せず
      • ABC 081 B 最小値の上限を 30 (以上)とすべきところを 10 としてしまう
      • ABC 049 C if b[i-l[j]] and s[i-l[j]+1:i+1]==p[j]: とするつもりが、コーディングしているうちに1つ目の条件を入れ忘れる

11月20日(火)

  • まずは 300 点問題を少し練習することに
    • ABC 113 C
      • 最初の submit は、文字列の長さを間違った値でコードに埋め込んでいて RE
      • やり直して AC
    • この日の練習は1問のみに終わる

11月21日(水)

  • 昨日解いた ABC 113 C を辞書を使って解き直してみる
    • Python の文字列、配列、辞書の基本的な使い方は確認できたつもり
  • 300点問題の練習の続き
    • ARC 103 A をやって AC
    • ARC 102 A
      • 愚直に3重ループ書いて submit したところ TLE
      • 小一時間考えて AC
      • 300点問題でも計算量を考えないとならないことがあることを知る

11月22日(木)

11月23日(金)・11月24日(土)

  • 練習から遠ざかる

11月25日(日)

  • 久しぶりに休暇にして、朝から富士山を見に行く(こちらも練習不足) 20181125-KCC-富士山.jpg
  • 第5回 ドワンゴからの挑戦状 予選

    • ABC からと思っていたけど、とりあえず参加することに
    • まず、この日使った PC に、Python 3 が python3 というコマンド名でインストールされていて、それに気づくまで10分くらいかかる
    • その後も、ばたばたして、ようやく 20:45:11 に A が AC
    • B と C を眺めて、B が bit 演算必要そうだったので C に取り組む
      • C の解法は思いつかず
      • 残り 20 分で B に取り組み、終了後に submit するも TLE や WA

11月26日(月)〜11月30日(金)

  • この週は、忙しくて、練習できず

12月1日(土)

12月2日(日)

  • 会議が14時過ぎに終わった、夕方のフライトまで時間があるので、首里城へ 20181202-那覇-守礼門.jpg
  • 那覇空港でオリオンビールを2杯も飲んでしまう
  • ないと思っていた ABC が21時から(実際は、出張前に気がついてました)
  • 妻が車で迎えにきてくれたので、ABC 114 に車中で参加
    • A と B を AC
    • そのうち、家につく
    • C と D を読み、D は解法分かったつもりになったので D を先にやることに
      • 実装に手間取り、終了直前に submit
      • 75 = 5*5*3 だけ考えて、25 * 3 * 1 と 75 * 1 * 1 を忘れていて WA
      • 終了後に D を AC

12月3日(月)〜12月7日(金)

  • この週も、忙しくて、練習できず(途中徹夜で原稿書いたりして、かなり、疲弊)

12月8日(土)

  • 急に熱海に行くことに(日帰り)
  • 通夜振る舞いでお酒をいただく
  • なんとこの日も ABC が
  • うちに戻ってから ABC 115 に参加
    • A, B を AC
      • ただ、A は、出力文字列のコピーを失敗していたのに気づかず、2回 WA
    • C
      • 提出ソースのコピペに失敗して WA
      • ちゃんとコピペし直して submit したら REになったので、混乱して C 言語で書き直す
      • 実は A に投げていた(不注意)
      • 終了後に Python で書き直す
    • D は、C の流れでそのまま C 言語で。
      • 時間内に通らず、終了後に AC
      • WA になった理由は、単純ミスと long long にすべきところが一部 int になっていたため
      • あとから Pythonで書き直す
    • 提出先の確認や提出するソースコードコピペの確認という基本的なことができないことを認識

12月9日(日)

  • JOI 2018/2019 の予選に日だったので、JOI 予選のやさしい問題を再開
    • JOI 2006/2007 予選4 が、サンプル通るものの WA になり、理由が分からないままこの日はここまで

12月10日(月)〜12月14日(金)

  • この週も、忙しくて、練習できず

12月15日(土)

  • 研究室の忘年会
  • AGC があるのが分かっていたけど、普通に飲酒してしまう
  • 研究室のメンバーには申し訳ないが、忘年会は中座させてもらい AGC 029 に少し遅れて参加
    • A, B, C, D を一通り読んでみる
    • A もすぐに解法を思いつかなかったので、お風呂に入る
    • お風呂で落ち着いたら、A の解法がわかったので、AC
    • B は最大マッチングかと思ったものの、今の実装力ではマッチングを実装できないことに気づく
    • C は解法気がついた気になり、実装に取りかかるも、時間内に実装終わらず
      • 終了後に submit したところ、WA と RE で間違ってました

12月16日(日)

  • 競プロ忘年会に少し参加し、楽しい時間を過ごす

12月17日(月)〜12月20日(木)

  • この週も、忙しくて、練習できず
  • JOI 2006/2007 予選4だけはやり直したところ、問題文読み間違えだったことに気がつく

12月21日(金)

12月22日(土)

  • 高麗大学校人文大学でシンポジウム「大学における人文学と人文教育、その現実と方法の模索」に参加
  • 終了後、大学内の施設で、食事会
    • 北朝鮮製のどんぐりの蒸留酒(50度) をいただく 20181223-どんぐり.jpg
  • 21時から CADDi 2018 for Beginners というコンテストが開催されるではないか!
    • A と B を AC
      • しかし、B は1回、A のソースを提出しまう(確認しないとならないというこれまでの教訓が活かせていない)
    • C は、解けたつもりが1つだけ WA になり、その原因を落ち着いて考えられない
    • あとから考えると、終了後も見当違いのことを考え続けていたらしい
    • 諦めてのお風呂に入ったら、探索する範囲が違っているのではということに気づき AC

12月23日(日)

12月24日(月)

  • 授業日で、19時30分くらいまで研究室ミーティングだっため、「Xmas Contest 2018」には参加できず
  • うちに帰って家族と夕食

まとめ

  • 1ヶ月で5回参加した結果10級 色なし Rating:224
  • Python に慣れたい
  • 300点/400点問題を短い時間で確実に解けるように練習したい
    • ということなで
    • この1ヶ月は、300点問題から練習するつもりが、まったく練習できていなかった
  • コンテスト中の単純ミスは減らしたい
    • 問題を読み間違えない
    • 提出ミスをしない
    • お風呂に入らなくても落ち着きたい
  • コンテストに参加する時間を確保するには、普段から色々と調整が必要
    • 家族の協力に感謝、研究室の皆さんにも感謝
    • 今回は運良く出張中にも参加できたけど、今後は出張の日程や移動スケジュールを調整したい
    • 今後は飲酒しないで参加できるように調整したい
  • 少しでも練習をして、毎月1〜2回はコンテストに参加することを、あと11ヶ月は続けたい

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
7