Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
How to automate competition programming
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Dassimen
November 24, 2019
Programming
290
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How to automate competition programming
こちらのLT資料です。
https://gigacode.connpass.com/event/153119/
Dassimen
November 24, 2019
More Decks by Dassimen
See All by Dassimen
Write code with "Test First"
anchorcable
0
70
Trying AWS Aurora Serverless.
anchorcable
0
240
Dialogue for Design
anchorcable
1
330
How to manage a good work environment
anchorcable
0
130
TDD is not slowly.
anchorcable
1
630
3日坊主でも勉強したい
anchorcable
5
5.9k
Design It! is good for architect.
anchorcable
0
150
今だからこそ分かる報連相 / How to do Hou/Ren/Sou!
anchorcable
0
790
TDD supports us all the time.
anchorcable
0
380
Other Decks in Programming
See All in Programming
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
260
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
250
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
130
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.4k
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
200
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
270
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6.1k
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
130
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
170
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
150
Agentic UI
manfredsteyer
PRO
0
170
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
5.3k
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
BBQ
matthewcrist
89
10k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
The browser strikes back
jonoalderson
0
1.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Designing for Timeless Needs
cassininazir
1
260
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
New Earth Scene 8
popppiees
3
2.3k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
530
Transcript
Performanceを上げたいので 自動化してみました Nov 24, 2019 | #dasshimen #GigaCode2019 提出、テスト、そんなものは自動化だ! 脱脂綿
( @anchor_cable )
#GigaCode2019 2 About Me 脱脂綿 ( @anchor_cable ) 東京都内に住む脱脂綿(=Twitter名)系エンジニア •
株式会社ゆめみ ◦ サーバーサイドエンジニア ◦ 7月1日入社 • AtCoder登録は1年前
3 アジェンダ テストと提出を自動化する方法 自動化した結果どうなるのか Performanceを上げるには? 1 2 3 #GigaCode2019
Performanceを上げるには? 1
5 Performanceを上げるには? なるべく多くの問題を早く解かねばならない(今更感) AtCoder Beginner Contestの場合、 A問題とB問題を合わせて5分以内に解くのが目安 A B C
D E F #GigaCode2019
6 そうはいっても大変 そもそもやることが多い 1.問題文を読んで理解する 2.ローカルにファイルを用意する 3.コードを書く 4.実行する 5.サンプル入力を入力する 6.実行結果がサンプル結果と一致するか確かめる 7.ブラウザから提出する
#GigaCode2019
7 簡略化できる 自動化を導入すれば 1.問題文を読んで理解する 2.ローカルにファイルを用意する → 自動で作業ファイルを作成 3.コードを書く 4.実行する 5.サンプル入力を入力する
→ 自動テスト 6.実行結果がサンプル結果と一致するか確かめる 7.ブラウザから提出する → CLIからコマンドで提出できる #GigaCode2019
テストと提出を自動化する方法 2
9 自動化する方法 ツールを3つ入れてみた • online-judge-tools • atcoder-cli • Dash #GigaCode2019
10 online-judge-tools サンプル自動取得+自動テスト+自動提出 ほとんどの競プロerが使った事あるであろうツール。人権。 AtCoderの各問題に記載されている入力例、出力例を取得し、 コマンド1回で自動テストしてくれる。 もう手動で実行して、手動で入力を入れる必要はなくなった! #GigaCode2019
11 atcoder-cli online-judge-toolsのラッパーツール(AtCoder特化) online-judge-toolsは他の競プロコンテストにも対応している都合上、コマンドが長い atcoder-cliを使う事で、コマンドがかなり短縮される テンプレートファイルを自動配置する機能もある 短いコマンドで全て自動化! 問題に取り掛かる時 acc new ABC144
問題をテストする時 oj test -c "python3 main.py" 問題を提出する時 acc s #GigaCode2019
12 Dash スニペットツール(入力支援ツール) oj test -c "python3 main.py" コマンドがまだ長いので、 ;oj#
で出るようにした ついでに競プロのよく使う構文も登録してみた よく使う構文を登録していく事で、 そこで考えるコストがゼロになった #GigaCode2019
自動化した結果どうなるのか 3
14 出た成果 ABC145 Performance:822 ABC144 Performance:601 #GigaCode2019 ABC142時点でPerformance:157
15 単純な時短以外にも恩恵 気持ちの余裕が生まれる (テストで)1発で正解しないコードでも落ち着いて見返せるようになった 若干不安な部分でも、とりあえず実装してみてテスト通す 問題を解く事に全てのリソースを集中できる #GigaCode2019
16 初心者こそ無駄な所を自動化しよう #GigaCode2019 導入前 「自分にはツールはまだ早いでしょ」 「環境整備しても実力が...」 「アルゴリズムの勉強のが先かな」
17 初心者こそ無駄な所を自動化しよう #GigaCode2019 導入前 「自分にはツールはまだ早いでしょ」 「環境整備しても実力が...」 「アルゴリズムの勉強のが先かな」 導入後 「もっと早くやってればよかった」 「過去問解くのも楽しい!」
→要は良いIDEや良いPC揃えるのと同じ
18 まとめ リラックスして本当の実力を引き出そう 初心者こそ自動化の恩恵を受けよう ツールを入れて手動作業を自動化しよう 1 2 3 #GigaCode2019
ご清聴ありがとうございました
20 参考リンク Atcoder環境をatcoder-cli + online-judge-tools + Dashで構築する https://qiita.com/anchor-cable/items/98a0bf669513d47972d4 AtCoder に登録したら次にやること
~ これだけ解けば十分闘える!過去問精選 10 問 ~ https://qiita.com/drken/items/fd4e5e3630d0f5859067 #GigaCode2019