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
競プロライブラリ環境構築
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
matumoto
March 03, 2022
Technology
770
0
Share
競プロライブラリ環境構築
2022/3月に行われた卒業生追い出しLTでの発表資料です
matumoto
March 03, 2022
More Decks by matumoto
See All by matumoto
Go標準パッケージのI/O処理をながめる
matumoto
0
370
testingを眺める
matumoto
1
190
sync/v2 プロポーザルの 背景と sync.Pool について
matumoto
0
680
Goトランザクション処理
matumoto
1
77
いまいちどスライスの 挙動を見直してみる
matumoto
0
390
Go1.22のリリース予定の機能を見る
matumoto
0
80
GoのUnderlying typeについて
matumoto
0
220
Typed-nilについて
matumoto
0
360
GoのType Setsという概念
matumoto
0
46
Other Decks in Technology
See All in Technology
How to install a gem
indirect
0
2k
MIX AUDIO EN BROADCAST
ralpherick
0
140
MCPで決済に楽にする
mu7889yoon
0
170
CREがSLOを握ると 何が変わるのか
nekomaho
0
360
来期の評価で変えようと思っていること 〜AI時代に変わること・変わらないこと〜
estie
0
130
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
タスク管理も1on1も、もう「管理」じゃない - KiroとBedrock AgentCoreで変わった“判断の仕事”
yusukeshimizu
0
160
Babylon.js を使って試した色々な内容 / Various things I tried using Babylon.js / Babylon.js 勉強会 vol.5
you
PRO
0
190
OCI技術資料 : ロード・バランサ 概要 - FLB・NLB共通
ocise
4
27k
FASTでAIエージェントを作りまくろう!
yukiogawa
4
180
40代からのアウトプット ― 経験は価値ある学びに変わる / 20260404 Naoki Takahashi
shift_evolve
PRO
4
700
15年メンテしてきたdotfilesから開発トレンドを振り返る 2011 - 2026
giginet
PRO
2
260
Featured
See All Featured
How to make the Groovebox
asonas
2
2.1k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
780
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
92
How to Talk to Developers About Accessibility
jct
2
170
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Facilitating Awesome Meetings
lara
57
6.8k
WENDY [Excerpt]
tessaabrams
9
37k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
81
Why Our Code Smells
bkeepers
PRO
340
58k
Designing for Timeless Needs
cassininazir
0
180
Code Reviewing Like a Champion
maltzj
528
40k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
68
38k
Transcript
競プロライブラリ環境構築 matumoto
自己紹介 • 名前:matumoto • AtCoder 水 •
どんな環境で競プロ してますか?
None
自作ライブラリ 使ってますか?
自作ライブラリ is 何 • 事前にデータ構造とかを書いておいて、コンテストのときにパッと取り出してコード 中で使用するもの ◦ UnionFind ◦ SegmentTree
◦ など • 自作したライブラリのこと • GitHub とかにあげて公開している人もいる
自作ライブラリ どう活用してますか?
コピペ勢 • あらかじめ書いておいたライブラリをコピペして持ってくる • メリット ◦ やるだけ ◦ 何かのツールを使う必要がない ◦
簡単 • デメリット ◦ 持ってくる、探すときに時間がかかる ◦ コピペミスで時間をロスすることがあるかも
スニペット勢 • あらかじめ書いておいたライブラリをスニペットにしておく • メリット ◦ コピペと違ってコピペミスなどが起きない ◦ 時間のロスが少ない •
デメリット ◦ スニペット機能のあるエディタもしくはツールが必要 ◦ 準備が若干めんどくさい ▪ ライブラリを更新したらスニペットも更新する必要がある
oj-bundle勢(C/C++) • ヘッダーファイル(.h / .hpp)を提出の際展開する • メリット ◦ 管理がしやすい ▪
ライブラリをそのままインクルードするだけなので、スニペットなどと違って更新の必要がない ▪ ライブラリ間の依存関係をかなりすっきりできる ◦ スニペットと同じで、時間ロスが少ない ◦ コピペミスもない • デメリット ◦ 準備がめんどくさい ◦ ライブラリのコードを問題ごとに変更したいときに融通が利かない
依存関係が簡潔!!
oj-bundle&スニペット が良さそう
ライブラリ→スニペットのツールがあったらいいな •
https://github.com/matumoto1234/snippet-generator
スニペットの自動生成が可能! • ライブラリを更新したらCIかなんかで走らせてもよさ そう 生成されたスニペット→
ありがとう!