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
ngng628
March 12, 2023
Programming
0
140
競プロ初心者会 | 累積和と全探索
累積和の復習と全探索の解説スライドです
ngng628
March 12, 2023
Tweet
Share
More Decks by ngng628
See All by ngng628
ちょっと変わったキーボード入力の話
ngng628
0
370
RSSリーダーを作ろう!
ngng628
0
290
Other Decks in Programming
See All in Programming
Cursor Meetup Tokyo ゲノミクスとCursor: 進化と制約のあいだ
koido
2
1k
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
220
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
820
Java on Azure で LangGraph!
kohei3110
0
140
人には人それぞれのサービス層がある
shimabox
3
680
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
510
Gleamという選択肢
comamoca
6
720
CSC307 Lecture 17
javiergs
PRO
0
120
KotlinConf 2025 現地参加の土産話
n_takehata
0
100
データベースコネクションプール(DBCP)の変遷と理解
fujikawa8
1
260
ktr0731/go-mcpでMCPサーバー作ってみた
takak2166
0
170
GoのWebAssembly活用パターン紹介
syumai
3
10k
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
How STYLIGHT went responsive
nonsquared
100
5.6k
GitHub's CSS Performance
jonrohan
1031
460k
How to Ace a Technical Interview
jacobian
276
23k
A better future with KSS
kneath
239
17k
Fireside Chat
paigeccino
37
3.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
690
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
660
Being A Developer After 40
akosma
90
590k
Why Our Code Smells
bkeepers
PRO
337
57k
Embracing the Ebb and Flow
colly
86
4.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
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)
| 複雑な全探索 幅優先探索での実装
| 複雑な全探索 複雑な全探索ができる →ある状態からある状態への変化が分かれば、変化を全列挙できる 共通点 ・実装が比較的楽 ・最短距離が(簡単には)求められない 再帰関数 ・実装が比較的面倒 ・ある状態に至る最短距離が求められる
(複雑な全探索 + 最短経路問題が解けるイメージ) 幅優先探索