$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
競プロ初心者会 | 累積和と全探索
Search
ngng628
March 12, 2023
Programming
0
160
競プロ初心者会 | 累積和と全探索
累積和の復習と全探索の解説スライドです
ngng628
March 12, 2023
Tweet
Share
More Decks by ngng628
See All by ngng628
ちょっと変わったキーボード入力の話
ngng628
0
430
RSSリーダーを作ろう!
ngng628
0
320
Other Decks in Programming
See All in Programming
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
230
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
130
sbt 2
xuwei_k
0
280
ゲームの物理 剛体編
fadis
0
330
tparseでgo testの出力を見やすくする
utgwkk
1
210
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
6
310
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
330
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
110
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
420
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
260
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
120
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
640
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
GitHub's CSS Performance
jonrohan
1032
470k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
970
Bash Introduction
62gerente
615
210k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.2k
Site-Speed That Sticks
csswizardry
13
1k
Transcript
./競プロ初心者会
| 3 1 4 1 5 9 2 6 5
3 5 8 9 7 累積和とは A[l] + A[l + 1] + … + A[r-1] いつ使う? l r
| 累積和とは s[i] = s[i-1] + a[i] どうやって? 3 1
4 1 5 9 2 6 5 3 5 8 9 7 0 3 4 8 9 14 23 25 31 36 39 44 52 61 68 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 単位元
| 累積和とは s[i] = s[i-1] + a[i] どうやって? 3 1
4 1 5 9 2 6 5 3 5 8 9 7 0 3 4 8 9 14 23 25 31 36 39 44 52 61 68 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 s[i] = [0, i) a[i] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 累積和とは s[i] = s[i-1] + a[i] どうやって? 3 1
4 1 5 9 2 6 5 3 5 8 9 7 0 3 4 8 9 14 23 25 31 36 39 44 52 61 68 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 s[i] = [0, i) a[i] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 累積和とは s[i] = s[i-1] + a[i] どうやって? 3 1
4 1 5 9 2 6 5 3 5 8 9 7 0 3 4 8 9 14 23 25 31 36 39 44 52 61 68 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 s[i] = [0, i) a[i] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 累積和とは s[i] = s[i-1] + a[i] どうやって? 3 1
4 1 5 9 2 6 5 3 5 8 9 7 0 3 4 8 9 14 23 25 31 36 39 44 52 61 68 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 s[i] = [0, i) a[i] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 累積和とは s[i] = s[i-1] + a[i] どうやって? 3 1
4 1 5 9 2 6 5 3 5 8 9 7 0 3 4 8 9 14 23 25 31 36 39 44 52 61 68 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 s[i] = [0, i) a[i] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 累積和とは s[i] = s[i-1] + a[i] どうやって? 3 1
4 1 5 9 2 6 5 3 5 8 9 7 0 3 4 8 9 14 23 25 31 36 39 44 52 61 68 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 s[i] = [0, i) a[i] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 累積和とは s[i] = s[i-1] + a[i] どうやって? 3 1
4 1 5 9 2 6 5 3 5 8 9 7 0 3 4 8 9 14 23 25 31 36 39 44 52 61 68 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 s[i] = [0, i) a[i] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 累積和とは s[i] = s[i-1] + a[i] どうやって? s[i] =
[0, i) a[i] s[6] = a[0] + a[1] + a[2] + a[3] + a[4] + a[5] s[2] = a[0] + a[1] - s[6] - s[2] = a[2] + a[3] + a[4] + a[5] 3 1 4 1 5 9 2 6 5 3 5 8 9 7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 累積和とは 計算量は? できないこと
| 複雑な全探索
| 複雑な全探索
| 複雑な全探索 3 1 4 1 5
None
|
|
|
|
| 複雑な全探索 ※ 全探索は計算量に注意
| 複雑な全探索
| 複雑な全探索 与えられる盤面
| 複雑な全探索
| 複雑な全探索
| 複雑な全探索
| 複雑な全探索
| 複雑な全探索
| 複雑な全探索 複雑な全探索 →再帰関数?
| 複雑な全探索 (i, j)のときdが最短であると言い切れない → 探索する順番が重要 → 前述の順番に探索すれば容易に最短であると言える
| 複雑な全探索
| 複雑な全探索 (2, 2)
| 複雑な全探索 (2, 2)
| 複雑な全探索 (2, 3) (3, 2)
| 複雑な全探索 (2, 3) (3, 2)
| 複雑な全探索 (3, 2) (2, 4) (4, 2)
| 複雑な全探索 幅優先探索での実装
| 複雑な全探索 複雑な全探索ができる →ある状態からある状態への変化が分かれば、変化を全列挙できる 共通点 ・実装が比較的楽 ・最短距離が(簡単には)求められない 再帰関数 ・実装が比較的面倒 ・ある状態に至る最短距離が求められる
(複雑な全探索 + 最短経路問題が解けるイメージ) 幅優先探索