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
160
競プロ初心者会 | 累積和と全探索
累積和の復習と全探索の解説スライドです
ngng628
March 12, 2023
Tweet
Share
More Decks by ngng628
See All by ngng628
ちょっと変わったキーボード入力の話
ngng628
0
440
RSSリーダーを作ろう!
ngng628
0
320
Other Decks in Programming
See All in Programming
ゆくKotlin くるRust
exoego
1
190
Basic Architectures
denyspoltorak
0
160
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
220
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
4
1.2k
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
330
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
1.1k
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
590
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
750
ThorVG Viewer In VS Code
nors
0
530
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
120
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
180
Graviton と Nitro と私
maroon1st
0
160
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
41
Skip the Path - Find Your Career Trail
mkilby
0
37
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Heart Work Chapter 1 - Part 1
lfama
PRO
3
35k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
WCS-LA-2024
lcolladotor
0
400
The Invisible Side of Design
smashingmag
302
51k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
RailsConf 2023
tenderlove
30
1.3k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.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)
| 複雑な全探索 幅優先探索での実装
| 複雑な全探索 複雑な全探索ができる →ある状態からある状態への変化が分かれば、変化を全列挙できる 共通点 ・実装が比較的楽 ・最短距離が(簡単には)求められない 再帰関数 ・実装が比較的面倒 ・ある状態に至る最短距離が求められる
(複雑な全探索 + 最短経路問題が解けるイメージ) 幅優先探索