AtCoder座談会

AtCoderやってますか?私は開催日を忘れないようにするという一番の難関を頑張ってます。最近は周囲にAtCoderを頑張っている人が多いので座談会を設けてみました。

プロフィール

  • 高橋(書いた人):最近まともに勉強を始めた灰色Coder。python2年目の元Rユーザー。
  • 野崎:pythonの勉強のためにAtCoderを始めた。5月から毎日AtCoderの勉強を続けている。先日当初の目標の入茶を果たす。
  • 橋本:茶の下の方。C++の練習のためにAtCoderを始めた。

AtCoder Problems

高橋:今日は宜しくお願いします。最近C難しくないですか
橋本:難易度上がってますよね。コンテスト以外で練習してます?何をすればいいんだろう?
高橋:最近始めたんですよ。まぁ全部野崎さんに教えてもらっただけど。AtCoder Problemsって過去問が並んでるだけじゃなくて、レコメンデーションっていう機能があるからこれ使ってる。
橋本:れこめんでいしょん……?

※ RecommendationはLoginすると見れるようになります
高橋:例えば私は灰色だから、茶になろうと思ったらこれくらいの問題が解けるようにならないと、っていうのをオススメしてくれる
橋本:えぇ!?
高橋:これ問題の除外ができて、最近AC出した問題がまた出るみたいなことにはならないようになってるんだよね(除外する期間は7日~半年から選べます)
野崎:あ、僕それは知らなかったです
高橋:一年くらい前にまぐれで正解してたD問題がこの前出題されて、自分の過去の提出は見れるから「これ前解けてたのに今解けてないな……」って
野崎:あー……
橋本:(自分のリコメンデーションのページを見ている)おぉ、これはすごい……ちょっとやる気が出てきますね
高橋:あとプログレスチャートでヒートマップも見れるの。ほら!30日続いてる!(ところどころサボってるけどそれは見ないことにしてね……)

野崎:今日はそれを祝う会でもあるんですよね
高橋:そうです。褒めてくれ~
野崎:(笑)
橋本:コンテストに参加する以外の勉強法あんまりわかってなかったですね
野崎:週一回だとなかなか上達しないですよね
高橋:野崎さんが毎日やってるの見て私もやろうと思って。なんか進研ゼミの漫画みたいなこと言ってるな

DPコンテスト

橋本:この問題は動的計画法だろうなと思ってもコードにできないじゃないですか。そういう問題集みたいなのないんですかね
高橋:動的計画法は専用のコンテストあるよ
橋本:え!教えて下さいよ
高橋:あげよう。情報を次々と

野崎:こっちは僕も前に高橋さんに教えてもらいましたね
橋本:26問もあるのか
高橋:こういう特化コンテスト、あらゆるアルゴリズムに欲しい
野崎:DP皆で目標決めて解きますか
橋本:いいですね

(後日)
あっ本当に解いてる!

競プロ典型90問

高橋:競プロ典型90問はどうですか?
野崎:ちょっと感じる難易度と問題についてる難易度のラベルに差がありますね
高橋:取っ掛かりになるアルゴリズムを全然知らないと難しく感じるのかも
野崎:そうかもしれないです。解説に類題がついているのでそれはメモはしてますね。90問終わったら後で解こうと思って
高橋:それは一周し終わってから類題を解いた方が頭に残りやすいから?
野崎:いや、そういう意識高いやつじゃなくて、そんなに一日にいっぱい解けないので(笑)

教科書

高橋:私は「問題解決力を鍛える!アルゴリズムとデータ構造」読んでる。わかりやすいし練習問題もAtCoderからも載せてくれてるから使いやすいよ
橋本:あ!大槻さんですよね
野崎:けんちょんさん
高橋:有名人なんだ……知らなかった
橋本:これってC++ですよね?
高橋:あ、そうだよ。一応簡単にAtCoder Programming Guide for beginnersでC++も勉強した
橋本:僕は「アルゴリズムイントロダクション」買いました。凄く分厚くて三巻あるんですよ。ここにあるアルゴリズムが全部、って感じ
高橋:kindle版(合本版)15000円するじゃんこれ
橋本:この本を最初に買ったので無事挫折しました。漸化式ばっかり解いてて、ちょっと何の役に立ったのかよくわからない。漸化式の勉強にはなりました(笑)

コンペに参加する環境

橋本:コンペに使うコードは何で書いてます?僕はVSCodeがデバックが詳しくできて、Jupyter notebookは対話的なので、その2つを行き来したり気分で変えたりしてます
高橋:私はGoogle colaboratoryで1大会1ファイル作ってる。毎日やってる方は1ファイルで、標準入力を他のセルからコピペしてる

橋本:それはやりますね
野崎:僕最近そういうファイル作りましたよ

高橋:えーッ!絶対そうした方がいいよね!
橋本:僕は書き捨ててます。見直さないから
高橋:豪快だな(笑)
野崎:僕は問題ごとに1ファイル、大会ごとに1フォルダです。Aはファイル作らないけど、綺麗に書けた時だけ残してます
高橋:一番丁寧だ……

好きな問題

橋本:僕がAtCoder始めた頃のやつなんですけど、好きな問題って言うとABCのA, B, C問題ですかね。Aは普通の掛け算です

高橋:Bは普通にやるとTLEになるんだね
橋本:そうです。だからソートして
高橋:超えた時点で-1を出す?
橋本:それだけだと0が出る時困るので、0だけ扱いを別にするんです
高橋:なるほど。それでCは典型的なfloatの取り扱い方か。いいね!美しいね。この3問
野崎:難易度もちょうどいいですね
橋本:全然プログラミングの肌感がわかってなかった頃に、こういうことかぁと思って。人間だとすぐじゃないですか、掛け算するなんて。でも機械特有の問題があるんだなって思って心に残ってます
野崎:僕は特に好きな問題っていうのは思いつかないんですが、解答が短く書けたら嬉しいっていうのはありますね
橋本:うんうん

今後の目標

野崎:年内に緑になりたいですね
高橋:緑はもう一段階アルゴリズムの知識が必要だもんね
野崎:高橋さんも目指しましょう
高橋:はぁい。まずは茶にならないと……
橋本:じゃあ僕はAtCoder Problems一日一問やろうかな
高橋:おぉ!
野崎:サボりかけた時にまた座談会やりましょう
高橋:(笑)そうしよう!

座談会を終えて

面白い話が聞けてよかったです!周囲に続けている人がいると刺激を受けますね。座談会効果で今回のABCはCまで解けました!レート上がってるかな?

道のりはまだ遠いぜ……