How to build cooperative-programing enviroment.

827dbd19908541482bac51ace8b86426?s=47 Dassimen
October 25, 2019

How to build cooperative-programing enviroment.

827dbd19908541482bac51ace8b86426?s=128

Dassimen

October 25, 2019
Tweet

Transcript

  1. 趣味の競プロのために、 本腰入れて環境整備してみた Oct 25, 2019 | #dasshimen #趣味テック 脱脂綿 (

    @anchor_cable )
  2. #趣味テック 2 About Me 脱脂綿 ( @anchor_cable ) 東京都内に住む脱脂綿(=Twitter名)系エンジニア •

    株式会社ゆめみ ◦ サーバーサイドエンジニア ◦ 7月1日入社 • AtCorder登録は1年前 ◦ 未だ灰色コーダー
  3. 3 アジェンダ #趣味テック 競プロで好成績を取るためには? 競プロを技術でハックする 競プロって何? なぜおすすめ? 1 2 3

  4. 競プロって何? なぜおすすめ? 1

  5. #趣味テック 5 競プロ = 競技プログラミング AtCorder, Topcorder, yukicoderなど 仕様を満たすコードをいかに早く正確に書けるかを競う 難しいアルゴリズムを知らなくても、その場で考えれば分かるレベルの問題もある

    正しい出力を返せていれば方法は問わないので、様々な解法が考えられる 正整数 N と、 2 の累乗数 1,2,4,8 があります。 これらのうち、 同じ 2 の累乗数をいくつ使っても良い ので、それらの和が N となるような組み合わ せを 1 つ求めてください。 組み合わせが複数考えられる場合は、そのうちのどれを出力しても構い ません。 例えば N=5 のとき、5=1+2+2 となることから 1 つの組み合わせとして 1,2,2 が考えられます。 例題(AtCorderBeginnerContest 021 A問題)
  6. #趣味テック 6 競プロ楽しい、おすすめする理由 プログラミング自体が好きな人におすすめ プログラミング勉強していると言うと 「プログラミングしたいって、何か作りたいの?」と良く聞かれます。 別に何か作りたいとかじゃなくて、 コード書いて動いたぞと喜ぶのが好き、 という人にこそ競プロはおすすめです。 モノ作りは色々めんどくさいけど、

    コード書くだけしたいなら競プロでいい!
  7. 競プロで好成績を取るためには? 2

  8. #趣味テック 8 なるべく多くの問題を早く解く AtCorder Beginner Contest の場合 A問題、B問題はそれほど難しくない C問題から急に難易度が上がり、D問題からはアルゴリズムの知識が無いと厳しい そしてC問題であっても4582人(ABC143)は解いている

    その中でperformanceを競う以上、コーディング速度が重視される A B C D E F
  9. 競プロを技術でハックする 3

  10. #趣味テック 10 競プロでやること 普通に解いていた時 1.問題文を読んで理解する 2.ローカルにファイルを用意する 3.コードを書く 4.実行する 5.サンプル入力を入力する 6.実行結果がサンプル結果と一致するか確かめる

    7.ブラウザから提出する。
  11. #趣味テック 11 競プロでやること 色々ツールを入れるとこうなる 1.問題文を読んで理解する 2.ローカルにファイルを用意する → 自動でコンテストの問題数分の作業ファイルを作成する 3.コードを書く 4.実行する

    5.サンプル入力を入力する → 自動テストできる 6.実行結果がサンプル結果と一致するか確かめる 7.ブラウザから提出する → CLIからコマンド1回で提出できる
  12. 実演

  13. #趣味テック 13 出た成果 A問+B問で5分切り達成 ABC127 継続的に過去問のA問、B問を解いて速度アップを図ってます。

  14. #趣味テック 14 参考リンク AtCorder環境をatcorder-cli + online-judge-tools + Dashで構築する https://qiita.com/anchor-cable/items/98a0bf669513d47972d4 AtCoder

    に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~ https://qiita.com/drken/items/fd4e5e3630d0f5859067