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
matumoto
March 03, 2022
Technology
0
600
競プロライブラリ環境構築
2022/3月に行われた卒業生追い出しLTでの発表資料です
matumoto
March 03, 2022
Tweet
Share
More Decks by matumoto
See All by matumoto
testingを眺める
matumoto
1
140
sync/v2 プロポーザルの 背景と sync.Pool について
matumoto
0
350
Goトランザクション処理
matumoto
1
48
いまいちどスライスの 挙動を見直してみる
matumoto
0
340
Go1.22のリリース予定の機能を見る
matumoto
0
65
GoのUnderlying typeについて
matumoto
0
200
Typed-nilについて
matumoto
0
310
GoのType Setsという概念
matumoto
0
27
GoのRateLimit処理の実装
matumoto
0
360
Other Decks in Technology
See All in Technology
Snowflake×dbtを用いたテレシーのデータ基盤のこれまでとこれから
sagara
0
130
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
230
KotlinConf 2025_イベントレポート
sony
1
140
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
160
使いやすいプラットフォームの作り方 ー LINEヤフーのKubernetes基盤に学ぶ理論と実践
lycorptech_jp
PRO
1
160
まずはマネコンでちゃちゃっと作ってから、それをCDKにしてみよか。
yamada_r
2
120
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
670
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
1
980
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
260
20250913_JAWS_sysad_kobe
takuyay0ne
2
250
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
3
200
「Linux」という言葉が指すもの
sat
PRO
4
140
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
4 Signs Your Business is Dying
shpigford
184
22k
GraphQLとの向き合い方2022年版
quramy
49
14k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
RailsConf 2023
tenderlove
30
1.2k
Agile that works and the tools we love
rasmusluckow
330
21k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.1k
Transcript
競プロライブラリ環境構築 matumoto
自己紹介 • 名前:matumoto • AtCoder 水 •
どんな環境で競プロ してますか?
None
自作ライブラリ 使ってますか?
自作ライブラリ is 何 • 事前にデータ構造とかを書いておいて、コンテストのときにパッと取り出してコード 中で使用するもの ◦ UnionFind ◦ SegmentTree
◦ など • 自作したライブラリのこと • GitHub とかにあげて公開している人もいる
自作ライブラリ どう活用してますか?
コピペ勢 • あらかじめ書いておいたライブラリをコピペして持ってくる • メリット ◦ やるだけ ◦ 何かのツールを使う必要がない ◦
簡単 • デメリット ◦ 持ってくる、探すときに時間がかかる ◦ コピペミスで時間をロスすることがあるかも
スニペット勢 • あらかじめ書いておいたライブラリをスニペットにしておく • メリット ◦ コピペと違ってコピペミスなどが起きない ◦ 時間のロスが少ない •
デメリット ◦ スニペット機能のあるエディタもしくはツールが必要 ◦ 準備が若干めんどくさい ▪ ライブラリを更新したらスニペットも更新する必要がある
oj-bundle勢(C/C++) • ヘッダーファイル(.h / .hpp)を提出の際展開する • メリット ◦ 管理がしやすい ▪
ライブラリをそのままインクルードするだけなので、スニペットなどと違って更新の必要がない ▪ ライブラリ間の依存関係をかなりすっきりできる ◦ スニペットと同じで、時間ロスが少ない ◦ コピペミスもない • デメリット ◦ 準備がめんどくさい ◦ ライブラリのコードを問題ごとに変更したいときに融通が利かない
依存関係が簡潔!!
oj-bundle&スニペット が良さそう
ライブラリ→スニペットのツールがあったらいいな •
https://github.com/matumoto1234/snippet-generator
スニペットの自動生成が可能! • ライブラリを更新したらCIかなんかで走らせてもよさ そう 生成されたスニペット→
ありがとう!