狠狠撸

狠狠撸Share a Scribd company logo
競プロは
人生の役に立つ
NTTデータ数理システム
大槻 兼資
2023/2/5
@JOI 本選講演
1
? 積極的に声やチャットで喋ってもらえたら嬉しいです
最初に
2
? JOI 本選で仲間をたくさん作ろう!
/ 133
? リラックスしよう! 楽しもう!
? JOI 頑張ってください!
? JOI 本選進出おめでとうございます!
? 2014年:東京大学大学院情報理工学系研究科
数理情報学専攻修士課程修了
自己紹介 (本業編)
? 2015年?:NTT データ数理システム
? 専門は数理工学全般
? アルゴリズム
? 探索, ネットワーク, etc…
? 数理最適化
? シフトスケジューリングなど
? 機械学習
? チャットボットなど
http://www.dis.uniroma1.it/challenge9/download.shtml 3 / 99
自己紹介 (本業編)
? アルゴリズムの楽しさを伝える活動をしています!
? 本を 3 冊出版
? Qiita でアルゴリズムの記事を多数執筆
5
競プロは役に立つ!
? 競プロで世界が広がる!
? 競プロ的な問題は社会にもたくさん!
? 竞プロで人生が切り拓かれる!
6
競プロは役に立つ!
? 競プロで世界が広がる!
7
競プロで世界が広がる!
高校
大学
社会
?JOI
?JOI 春合宿
?ICPC
?大学主催コンテストや合宿
?ひたすら精進に打ち込む青春
?AtCoder コンテストは一生楽しめる!
?競プロしなければなかった出会い沢山
?社会人も関わるイベントも沢山
8
JOI 春合宿
https://kininarukotomatome.com/olympiad-informatics/
https://www.ioi-jp.org/joi/2020/index.html
? 対面のコンテストは空気感が違う!
? コンテスト後の感想戦が格別!
? ライバルから刺激を受ける!
9
大学入学後も競プロは続く!
高校
大学
社会
?JOI
?JOI 春合宿
?ICPC
?大学主催コンテストや合宿
?ひたすら精進に打ち込む青春
?AtCoder コンテストは一生楽しめる!
?競プロしなければなかった出会い沢山
?社会人も関わるイベントも沢山
10
ICPC も楽しい!
? 3 人 1 組のチーム戦!!!
/iwiwi/wakate-web-14323842
? 競プロサークルのある大学もたくさん!
? 合宿やコンテストの開催側にもなれる!
11
競プロで世界が広がる!
高校
大学
社会
?JOI
?JOI 春合宿
?ICPC
?大学主催コンテストや合宿
?ひたすら精進に打ち込む青春
?AtCoder コンテストは一生楽しめる!
?競プロしなければなかった出会い沢山
?社会人も関わるイベントも沢山
12
AtCoder は一生楽しめる!
? AtCoder がずっと続くことを祈りましょう!
? 毎週末、コンテスト後には Twitter が盛り上がる!
https://togetter.com/li/1469550
13
イベント開催もたくさん!
? comb naf
? GigaCode
? 競プロキャンプ
? フォルシアゆるふわコンテスト
? プランクトンサミット
? CPSCO
……などなど、コロナ禍後も少しずつ復活の兆し
14
イベント開催もたくさん!
? comb naf
? GigaCode
? 競プロキャンプ
? フォルシアゆるふわコンテスト
? プランクトンサミット
? CPSCO
……などなど、コロナ禍後も少しずつ復活の兆し
15
イベント開催もたくさん!
? comb naf
? GigaCode
? 競プロキャンプ
? フォルシアゆるふわコンテスト
? プランクトンサミット
? CPSCO
……などなど、コロナ禍後も少しずつ復活の兆し
16
イベント開催もたくさん!
? 一緒にいっぱい楽しもう!!!!!!
17
競プロは役に立つ!
? 竞プロで人生が切り拓かれる!
18
競プロで自己実現!
? アルゴリズム研究者になった人!
? AI 研究開発に繋げた人!
? 競プロで築いた人脈で起業した人!
? AtCoder Jobs 経由で就職?転職した人!
? 本を書いた人!
……などなど、競プロで人生が変わるかもしれない!
19
アルゴリズムを学ぶ動機は様々
? 競技プログラミングで勝ちたい!
? コンピュータサイエンスの重要な一分野として
学んでおきたい
? ソフトウェアエンジニアとしてステップアップしたい
? 就職で有利にしたい!
どんな人にもオススメ!!
20
アルゴリズムで身に付く力
? 問題を理解する力 (理解力)
? ロジカルに考える力 (思考力)
? コーディング力 (技術力)
? アルゴリズムを説明する力 (説明力)
? 何かを楽しんで主体的に学んだ経験そのもの
一生モノのスキル
21
競プロは役に立つ!
? 競プロ的な問題は社会にもたくさん!
22
アルゴリズムによる問題解決
数理モデル化
AtCoder
みたいな問題
解
解釈?意思決定
アルゴリズム
23
アルゴリズムは分野横断的
? AI や量子コンピュータなどの、分野の流行に依らない
一生モノのスキル
? むしろ AI を学ぶための強力な下地となる
グラフ
動的計画法
○○法
電気 機械 化学 生物 経済 ○○
? さまざまな分野の問題が、アルゴリズムの目で見ること
によって本質的に同じ問題になったりなる!
/ 133
24
実務で使ったアルゴリズムたち
? DP (動的計画法)
? ナップサック DP
? 区間 DP
? O(3^N) の bit DP
? セグメント木
? 遅延評価つきセグメント木
? セグメント木上の DP
? フロー
? 二部マッチング
? ABC-G でもありそうな最大フロー問題
? ヒューリスティクス系
? 焼きなましやビームサーチ
? 負閉路があるかもしれない最短路問題
25
実務で使ったアルゴリズムたち
? DP (動的計画法)
? ナップサック DP
? 区間 DP
? O(3^N) の bit DP
? セグメント木
? 遅延評価つきセグメント木
? セグメント木上の DP
? フロー
? 二部マッチング
? ABC-G でもありそうな最大フロー問題
? ヒューリスティクス系
? 焼きなましやビームサーチ
? 負閉路つきの最短路問題
DP (動的計画法) とは
26
問題を一連の部分問題に分割し、
各部分問題の解をメモ化しながら順に求めていく手法
? とても抽象的で汎用的
? 適用範囲が広い
? ただし一見わかりにくい
/ 133
動的計画法の例題
27
足場を「ジャンプ」しながら左端から右端へ行きたい
AtCoder Educational DP Contest A - Frog
ただし「隣の足場」か「1 個飛ばしの足場」にのみ進める
ジャンプの所要時間は「足場の高さの差」
左端から右端までの最短所要時間を求めよ
4m 7m
7 - 4 = 3 秒!
3m
/ 133
動的計画法の例題
28
足場を「ジャンプ」しながら左端から右端へ行きたい
AtCoder Educational DP Contest A - Frog
ただし「隣の足場」か「1 個飛ばしの足場」にのみ進める
ジャンプの所要時間は「足場の高さの差」
左端から右端までの最短所要時間を求めよ
例:
?足場が 7 個
?(2, 9, 4, 5, 1, 6, 10)
/ 133
動的計画法の例題
29
足場を「ジャンプ」しながら左端から右端へ行きたい
AtCoder Educational DP Contest A - Frog
ただし「隣の足場」か「1 個飛ばしの足場」にのみ進める
ジャンプの所要時間は「足場の高さの差」
左端から右端までの最短所要時間を求めよ
例:
?足場が 7 個
?(2, 9, 4, 5, 1, 6, 10)
/ 133
動的計画法の例題
30
足場を「ジャンプ」しながら左端から右端へ行きたい
AtCoder Educational DP Contest A - Frog
ただし「隣の足場」か「1 個飛ばしの足場」にのみ進める
ジャンプの所要時間は「足場の高さの差」
左端から右端までの最短所要時間を求めよ
例:
?足場が 7 個
?(2, 9, 4, 5, 1, 6, 10)
+4
+1 +1
+2
最短: 8 秒
/ 133
グラフの問題と考える
31
例:
0 1 2 3 4 5 6
7
2
5 1 4 5 4
4
3
1 9
足場を「ジャンプ」しながら左端から右端へ行きたい
AtCoder Educational DP Contest A - Frog
ただし「隣の足場」か「1 個飛ばしの足場」にのみ進める
ジャンプの所要時間は「足場の高さの差」
左端から右端までの最短所要時間を求めよ
?足場が 7 個
?(2, 9, 4, 5, 1, 6, 10)
/ 133
32
グラフ
? 物事の関係性を「丸」と「線」を用いて表したもの
? コンピュータサイエンスのあらゆる領域で使われる
頂点 辺
/ 133
? あれもこれも実はグラフ!
? さまざまな分野の問題をグラフに関する問題として
見通よく汎用的に扱える!
33
アルゴリズムの精神
グラフ
/ 133
34
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
? ノード 0 からノード 6 への最短経路を求める!
グラフの問題と考える
/ 133
35
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
? ノード 0 からノード 6 への最短経路を求める!
? 答えは、2 + 1 + 1 + 4 = 8
グラフの問題と考える
/ 133
問題を次のように分解する
36
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
? ノード 1 へ至る最小コストを求める小問題
? ノード 2 へ至る最小コストを求める小問題
? ノード 3 へ至る最小コストを求める小問題
? ノード 4 へ至る最小コストを求める小問題
? ノード 5 へ至る最小コストを求める小問題
? ノード 6 へ至る最小コストを求める小問題 / 133
問題を次のように分解する
37
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
? ノード 1 へ至る最小コストを求める小問題
? ノード 2 へ至る最小コストを求める小問題
? ノード 3 へ至る最小コストを求める小問題
? ノード 4 へ至る最小コストを求める小問題
? ノード 5 へ至る最小コストを求める小問題
? ノード 6 へ至る最小コストを求める小問題 / 133
問題を次のように分解する
38
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
? ノード 1 へ至る最小コストを求める小問題
? ノード 2 へ至る最小コストを求める小問題
? ノード 3 へ至る最小コストを求める小問題
? ノード 4 へ至る最小コストを求める小問題
? ノード 5 へ至る最小コストを求める小問題
? ノード 6 へ至る最小コストを求める小問題 / 133
問題を次のように分解する
39
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
? ノード 1 へ至る最小コストを求める小問題
? ノード 2 へ至る最小コストを求める小問題
? ノード 3 へ至る最小コストを求める小問題
? ノード 4 へ至る最小コストを求める小問題
? ノード 5 へ至る最小コストを求める小問題
? ノード 6 へ至る最小コストを求める小問題 / 133
問題を次のように分解する
40
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
? ノード 1 へ至る最小コストを求める小問題
? ノード 2 へ至る最小コストを求める小問題
? ノード 3 へ至る最小コストを求める小問題
? ノード 4 へ至る最小コストを求める小問題
? ノード 5 へ至る最小コストを求める小問題
? ノード 6 へ至る最小コストを求める小問題 / 133
問題を次のように分解する
41
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
? ノード 1 へ至る最小コストを求める小問題
? ノード 2 へ至る最小コストを求める小問題
? ノード 3 へ至る最小コストを求める小問題
? ノード 4 へ至る最小コストを求める小問題
? ノード 5 へ至る最小コストを求める小問題
? ノード 6 へ至る最小コストを求める小問題 / 133
問題を次のように分解する
42
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
? ノード 1 へ至る最小コストを求める小問題
? ノード 2 へ至る最小コストを求める小問題
? ノード 3 へ至る最小コストを求める小問題
? ノード 4 へ至る最小コストを求める小問題
? ノード 5 へ至る最小コストを求める小問題
? ノード 6 へ至る最小コストを求める小問題 / 133
メモ化用の DP テーブル
43
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
メモ
/ 133
頂点 0 への最小コスト (初期条件)
44
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
0
メモ
/ 133
頂点 1 への最小コスト
45
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
0
7
7
メモ
/ 133
頂点 2 への最小コスト
46
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
0 7
2
5
2
12 vs. 2
メモ
/ 133
頂点 3 への最小コスト
47
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
0 7
4
1
2
3 vs. 11
3
メモ
/ 133
頂点 4 への最小コスト
48
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
メモ
0 7
3
4
2
7 vs. 5
3 5
/ 133
頂点 5 への最小コスト
49
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
0 7
1
5
2
10 vs. 4
3 5 4
メモ
/ 133
頂点 6 への最小コスト
50
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
0 7
9
4
2
8 vs. 14
3 5 4 8
メモ
実装上は
51
? メモ化用の DP テーブルを配列でもつ
dp[v] ← 頂点 0 から頂点 v へ至る最短コスト
i-2 i-1 i
dp[i] = min(dp[i-1] + f(i-1, i),
dp[i-2] + f(i-2, i)
/ 133
動的計画法の着眼
52
? メモ化:何度も参照される小さな問題の結果を保存して
すぐに参照できるようにする (キャッシュ)
問題を一連の部分問題に分割し、
各部分問題の解をメモ化しながら順に求めていく手法
? 部分問題への分割:同じ構造を持つ小さな問題 (部分問
題) の結果を使うことで大きな問題が解ける
? ノード 1, 2, 3, 4, 5, 6 への最短経路を順に求めた
/ 133
実務でも登場した問題 2 つ紹介
53
? JOI 本選 2016 A 問題 - オレンジの出荷
? AtCoder ARC 070 E - NarrowRectangles
54
大きさが A[0], A[1], …, A[N-1] のオレンジがある
0 1 2 3 4 5 6 7 8 9
前から順に、箱に詰めていく
各箱のコストは、
「K + (箱内の A の最大値 - 箱内の A の最小値) × 個数」
各箱のコストの総和を最小化せよ
3 5 4 9 11 8 10 1 7 8
K = 5
/ 133
JOI の問題:オレンジの出荷 (改)
JOI 本選 2016 A 問題
55
JOI 本選 2016 A 問題
大きさが A[0], A[1], …, A[N-1] のオレンジがある
0 1 2 3 4 5 6 7 8 9
前から順に、箱に詰めていく
各箱のコストは、
「K + (箱内の A の最大値 - 箱内の A の最小値) × 個数」
各箱のコストの総和を最小化せよ
3 5 4 9 11 8 10 1
K = 5
7 8
基本コスト
/ 133
JOI の問題:オレンジの出荷 (改)
56
JOI 本選 2016 A 問題
大きさが A[0], A[1], …, A[N-1] のオレンジがある
0 1 2 3 4 5 6 7 8 9
前から順に、箱に詰めていく
各箱のコストの総和を最小化せよ
3 5 4 9 11 8 10 1 7 8
K = 5
例
各箱のコストは、
「K + (箱内の A の最大値 - 箱内の A の最小値) × 個数」
/ 133
JOI の問題:オレンジの出荷 (改)
57
JOI 本選 2016 A 問題
大きさが A[0], A[1], …, A[N-1] のオレンジがある
0 1 2 3 4 5 6 7 8 9
前から順に、箱に詰めていく
各箱のコストの総和を最小化せよ
3 5 4 9 11 8 10 1 7 8
K = 5
例
各箱のコストは、
「K + (箱内の A の最大値 - 箱内の A の最小値) × 個数」
5 + (9 - 3) × 4
= 29
5 + (11 - 8) × 3
= 14 5
5 + (8 - 7) × 2
= 7
/ 133
JOI の問題:オレンジの出荷 (改)
58
JOI 本選 2016 A 問題
大きさが A[0], A[1], …, A[N-1] のオレンジがある
0 1 2 3 4 5 6 7 8 9
前から順に、箱に詰めていく
各箱のコストの総和を最小化せよ
3 5 4 9 11 8 10 1 7 8
K = 5
例
各箱のコストは、
「K + (箱内の A の最大値 - 箱内の A の最小値) × 個数」
5 + (9 - 3) × 4
= 29
5 + (11 - 8) × 3
= 14 5
5 + (8 - 7) × 2
= 7
コスト: 55
/ 133
JOI の問題:オレンジの出荷 (改)
59
JOI 本選 2016 A 問題
0 1 2 3 4 5 6 7 8 9
3 5 4 9 11 8 10 1 7 8
K = 5
? Frog 問題と同様に「前から何個かのオレンジ」に
ついての小問題に分割していく
/ 133
JOI の問題:オレンジの出荷 (改)
60
JOI 本選 2016 A 問題
0 1 2 3 4 5 6 7 8 9
3 5 4 9 11 8 10 1 7 8
K = 5
? Frog 問題と同様に「前から何個かのオレンジ」に
ついての小問題に分割していく
? メモ化用の配列を用意する
/ 133
JOI の問題:オレンジの出荷 (改)
61
JOI 本選 2016 A 問題
0 1 2 3 4 5 6
3 5 4 9 11 8 10
K = 5
? Frog 問題と同様に「前から何個かのオレンジ」に
ついての小問題に分割していく
? メモ化用の配列を用意する
たとえばこのマスには
前から 7 個のオレンジ
についての答えを格納
/ 133
JOI の問題:オレンジの出荷 (改)
62
JOI 本選 2016 A 問題
0 1 2 3 4 5 6 7 8 9
3 5 4 9 11 8 10 1 7 8
K = 5
? 前から 0 個のオレンジについての答えは 0
0
/ 133
JOI の問題:オレンジの出荷 (改)
63
前から 0 個
K = 5
? 前から 0 個のオレンジについての答えは 0
0
/ 133
64
前から 1 個
0
3
K = 5
? 前から 1 個のオレンジについての答えは 5
0 5
+5
1
1 個のオレンジ {3}
を箱詰めするコストは 5
/ 133
65
前から 2 個について考える
0
3
K = 5
0 5
1
5
? 最後の箱をどうするかで場合分けして考える
? 最後の箱が {3, 5} である場合
? 最後の箱が {5} である場合
/ 133
66
前から 2 個について考える
0
3
K = 5
0 5
1
5
+9
? 最後の箱が {3, 5} のとき:コストは 0 + 9 = 9
/ 133
67
前から 2 個について考える
0
3
K = 5
? 最後の箱が {3, 5} のとき:コストは 0 + 9 = 9
0 5
1
5
+5
? 最後の箱が {5} のとき:コストは 5 + 5 = 10
/ 133
68
前から 2 個について考える
0
3
K = 5
? 最後の箱が {3, 5} のとき:コストは 0 + 9 = 9
0 5
1
5
? 最後の箱が {5} のとき:コストは 5 + 5 = 10
9
+9
/ 133
69
前から 3 個について考える
K = 5
0 5 9
0 1 2
3 5 4
? 最後の箱をどうするかで場合分けして考える
? 最後の箱が {3, 5, 4} である場合
? 最後の箱が {5, 4} である場合
? 最後の箱が {4} である場合
/ 133
70
前から 3 個について考える
K = 5
? 最後の箱が {3, 5, 4} のとき:コストは 0 + 11 = 11
0 5 9
0 1 2
3 5 4
+11
/ 133
71
前から 3 個について考える
K = 5
? 最後の箱が {3, 5, 4} のとき:コストは 0 + 11 = 11
0 5 9
0 1 2
3 5 4
? 最後の箱が {5, 4} のとき:コストは 5 + 7 = 12
+7
/ 133
72
前から 3 個について考える
K = 5
0 5 9
0 1 2
3 5 4
+5
? 最後の箱が {3, 5, 4} のとき:コストは 0 + 11 = 11
? 最後の箱が {5, 4} のとき:コストは 5 + 7 = 12
? 最後の箱が {4} のとき:コストは 9 + 5 = 14
/ 133
73
前から 3 個について考える
K = 5
0 5 9
0 1 2
3 5 4
? 最後の箱が {3, 5, 4} のとき:コストは 0 + 11 = 11
? 最後の箱が {5, 4} のとき:コストは 5 + 7 = 12
? 最後の箱が {4} のとき:コストは 5 + 7 = 14
11
+11
/ 133
74
前から 4 個について考える
K = 5
0 5 9
0 1 2
3 5 4
? 最後の箱をどうするかで場合分けして考える
? 最後の箱が {3, 5, 4, 9} である場合
? 最後の箱が {5, 4, 9} である場合
? 最後の箱が {4, 9} である場合
3
9
11
? 最後の箱が {9} である場合
/ 133
75
前から 4 個について考える
K = 5
0 5 9
0 1 2
3 5 4
3
9
11
+29
? 最後の箱が {3, 5, 4, 9} のとき:コストは 0 + 29 = 29
/ 133
76
前から 4 個について考える
K = 5
0 5 9
0 1 2
3 5 4
3
9
11
? 最後の箱が {3, 5, 4, 9} のとき:コストは 0 + 29 = 29
+20
? 最後の箱が {5, 4, 9} のとき:コストは 5 + 20 = 25
/ 133
77
前から 4 個について考える
K = 5
0 5 9
0 1 2
3 5 4
3
9
11
? 最後の箱が {3, 5, 4, 9} のとき:コストは 0 + 29 = 29
? 最後の箱が {5, 4, 9} のとき:コストは 5 + 20 = 25
+15
? 最後の箱が {4, 9} のとき:コストは 9 + 15 = 24
/ 133
78
前から 4 個について考える
K = 5
0 5 9
0 1 2
3 5 4
3
9
11
? 最後の箱が {3, 5, 4, 9} のとき:コストは 0 + 29 = 29
? 最後の箱が {5, 4, 9} のとき:コストは 5 + 20 = 25
? 最後の箱が {4, 9} のとき:コストは 9 + 15 = 24
+5
? 最後の箱が {9} のとき:コストは 11 + 5 = 16
/ 133
79
前から 4 個について考える
K = 5
0 5 9
0 1 2
3 5 4
3
9
11
? 最後の箱が {3, 5, 4, 9} のとき:コストは 0 + 29 = 29
? 最後の箱が {5, 4, 9} のとき:コストは 5 + 20 = 25
? 最後の箱が {4, 9} のとき:コストは 9 + 15 = 24
? 最後の箱が {9} のとき:コストは 11 + 5 = 16
16
+5
/ 133
80
前から 5 個について考える
K = 5
0 5 9
0 1 2
3 5 4
3
9
11 16
4
11
/ 133
81
前から 5 個について考える
K = 5
0 5 9
0 1 2
3 5 4
3
9
11 16
4
11
? 最後の箱が {9, 11} のとき最適:コストは 11 + 9 = 20
+9
20
/ 133
82
前から 6 個について考える
K = 5
0 5 9
0 1 2
3 5 4
3
9
11 16
4
11
20
5
8
/ 133
83
前から 6 個について考える
K = 5
0 5 9
0 1 2
3 5 4
3
9
11 16
4
11
20
5
8
? 最後の箱が {8} のとき最適:コストは 20 + 5 = 25
25
+5
/ 133
84
前から 7 個について考える
K = 5
0 5 9
0 1 2
3 5 4
3
9
11 16
4
11
20 25
5 6
8 10
/ 133
85
前から 7 個について考える
K = 5
0 5 9
0 1 2
3 5 4
3
9
11 16
4
11
20 25
5 6
8 10
? 最後の箱が {9, 11, 8, 10} のとき最適:コストは 11 + 17 = 28
+17
28
/ 133
86
前から 8 個について考える
K = 5
0 5 9
0 1 2
3 5 4
3
9
11 16
4
11
20 25
5 6
8 10
28
7
1
/ 133
87
前から 8 個について考える
K = 5
0 5 9
0 1 2
3 5 4
3
9
11 16
4
11
20 25
5 6
8 10
28
7
1
? 最後の箱が {1} のとき最適:コストは 28 + 5 = 33
+5
33
/ 133
88
前から 9 個について考える
K = 5
0 5 9
0 1 2
3 5 4
3
9
11 16
4
11
20 25
5 6
8 10
28
7
1
33
8
7
/ 133
89
前から 9 個について考える
K = 5
0 5 9
0 1 2
3 5 4
3
9
11 16
4
11
20 25
5 6
8 10
28
7
1
33
8
7
? 最後の箱が {7} のとき最適:コストは 33 + 5 = 38
+5
38
/ 133
90
前から 10 個について考える
K = 5
0 5 9
0 1 2
3 5 4
3
9
11 16
4
11
20 25
5 6
8 10
28
7
1
33
8
7
38
9
8
/ 133
91
前から 10 個について考える
K = 5
0 5 9
0 1 2
3 5 4
3
9
11 16
4
11
20 25
5 6
8 10
28
7
1
33
8
7
38
9
8
? 最後の箱が {7, 8} のとき最適:コストは 33 + 7 = 40
40
+7
/ 133
92
最適解
K = 5
0 5 9
0 1 2
3 5 4
3
9
11 16
4
11
20 25
5 6
8 10
28
7
1
33
8
7
38
9
8
40
/ 133
93
オレンジの出荷は「区間分割」
0 1 2 3 4 5 6 7 8 9
? 系列データをいくつかの区間に分ける問題に一般化
? 区間分割の仕方を最適化する
? さまざまな分野の問題が、区間分割問題へと帰着される
/ 133
94
http://chasen.naist.jp/chaki/t/2009-09-30/doc/mecab-cabocha-nlp-seminar-2009.pdf
僕は君を愛している
僕 は 君 を 愛し て いる
単語ごとに区切る
/ 133
実例 (1):分かち書き
95
実例 (2):タイムスケジューリング
? 各客になるべく早く荷物を届け終えたい!
? 制約 (1)「何時から何時の間に届けてほしい」
? 制約 (2)「?分間に 1 回は休憩が必要」 (by 法律)
→ どこで休憩をとるかを最適化したい!
休憩時間ごとに区切る
96
? 発電の on と o? のタイミングを最適化する
on o? on o?
? 需要供給バランスの考慮などもあって、各区間のコス
ト関数 f(i, j) はとても複雑なものになる
? 「?時間以上連続稼働」といった制約も考慮
/ 133
実例 (3):発電計画問題
97
?さまざまな長さのパネルが順に並んでいる
?それをいくつかのグループに分ける方法を最適化する
/ 133
実例 (4):パネルグループ分け
実務でも登場した問題 2 つ紹介
98
? AtCoder ARC 070 E - NarrowRectangles
ARC 070 E - NarrowRectangles
99
? 幅 1 の長方形が縦に並んでいる
? 各長方形を左右に動かして繋がっているようにしたい
? 総移動距離の最小値を求めよ
実例 (5):発電量調節問題
100
? 毎分ごとに発電量を決めたい
? ただし急激な変化はできない
? 長方形の紙を繋げるという制約に対応する
101
アルゴリズムは分野横断的!
? JOI の問題も、まさにそういう問題たち
グラフ
動的計画法
○○法
電気 機械 化学 生物 経済 ○○
? さまざまな問題が、アルゴリズムの目で見ることに
よって本質的に同じ問題になったりなる!
/ 133
102
全体のまとめ
? JOI 頑張ってください!
? JOI 本選進出おめでとうございます!
? 大学入学後も競プロ人生は続く!
? 仲間をたくさん作ろう!
? 競プロが実務やキャリア形成で役に立つことも

More Related Content

What's hot (20)

直交领域探索
直交领域探索直交领域探索
直交领域探索
okuraofvegetable
?
础迟颁辞诲别谤に毎回参加したくなる仕组み
础迟颁辞诲别谤に毎回参加したくなる仕组み础迟颁辞诲别谤に毎回参加したくなる仕组み
础迟颁辞诲别谤に毎回参加したくなる仕组み
AtCoder Inc.
?
Union find(素集合データ構造)
Union find(素集合データ構造)Union find(素集合データ構造)
Union find(素集合データ構造)
AtCoder Inc.
?
色々なタ?イクストラ高速化
色々なタ?イクストラ高速化色々なタ?イクストラ高速化
色々なタ?イクストラ高速化
yosupo
?
指数时间アルゴリズム入门
指数时间アルゴリズム入门指数时间アルゴリズム入门
指数时间アルゴリズム入门
Yoichi Iwata
?
AtCoder Beginner Contest 021 解説
AtCoder Beginner Contest 021 解説AtCoder Beginner Contest 021 解説
AtCoder Beginner Contest 021 解説
AtCoder Inc.
?
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
Kensuke Otsuki
?
动的计画法を极める!
动的计画法を极める!动的计画法を极める!
动的计画法を极める!
HCPC: 北海道大学競技プログラミングサークル
?
様々な全域木问题
様々な全域木问题様々な全域木问题
様々な全域木问题
tmaehara
?
プログラミングコンテストでの动的计画法
プログラミングコンテストでの动的计画法プログラミングコンテストでの动的计画法
プログラミングコンテストでの动的计画法
Takuya Akiba
?
AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説
AtCoder Inc.
?
Rolling Hashを殺す話
Rolling Hashを殺す話Rolling Hashを殺す話
Rolling Hashを殺す話
Nagisa Eto
?
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba
?
大规模グラフアルゴリズムの最先端
大规模グラフアルゴリズムの最先端大规模グラフアルゴリズムの最先端
大规模グラフアルゴリズムの最先端
Takuya Akiba
?
AtCoder Regular Contest 001
AtCoder Regular Contest 001AtCoder Regular Contest 001
AtCoder Regular Contest 001
AtCoder Inc.
?
実践?最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)
実践?最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)実践?最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)
実践?最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)
AtCoder Inc.
?
ラムダ计算入门
ラムダ计算入门ラムダ计算入门
ラムダ计算入门
Eita Sugimoto
?
Rolling hash
Rolling hashRolling hash
Rolling hash
HCPC: 北海道大学競技プログラミングサークル
?
Convex Hull Trick
Convex Hull TrickConvex Hull Trick
Convex Hull Trick
HCPC: 北海道大学競技プログラミングサークル
?
础迟颁辞诲别谤に毎回参加したくなる仕组み
础迟颁辞诲别谤に毎回参加したくなる仕组み础迟颁辞诲别谤に毎回参加したくなる仕组み
础迟颁辞诲别谤に毎回参加したくなる仕组み
AtCoder Inc.
?
Union find(素集合データ構造)
Union find(素集合データ構造)Union find(素集合データ構造)
Union find(素集合データ構造)
AtCoder Inc.
?
色々なタ?イクストラ高速化
色々なタ?イクストラ高速化色々なタ?イクストラ高速化
色々なタ?イクストラ高速化
yosupo
?
指数时间アルゴリズム入门
指数时间アルゴリズム入门指数时间アルゴリズム入门
指数时间アルゴリズム入门
Yoichi Iwata
?
AtCoder Beginner Contest 021 解説
AtCoder Beginner Contest 021 解説AtCoder Beginner Contest 021 解説
AtCoder Beginner Contest 021 解説
AtCoder Inc.
?
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
Kensuke Otsuki
?
様々な全域木问题
様々な全域木问题様々な全域木问题
様々な全域木问题
tmaehara
?
プログラミングコンテストでの动的计画法
プログラミングコンテストでの动的计画法プログラミングコンテストでの动的计画法
プログラミングコンテストでの动的计画法
Takuya Akiba
?
AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説
AtCoder Inc.
?
Rolling Hashを殺す話
Rolling Hashを殺す話Rolling Hashを殺す話
Rolling Hashを殺す話
Nagisa Eto
?
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba
?
大规模グラフアルゴリズムの最先端
大规模グラフアルゴリズムの最先端大规模グラフアルゴリズムの最先端
大规模グラフアルゴリズムの最先端
Takuya Akiba
?
AtCoder Regular Contest 001
AtCoder Regular Contest 001AtCoder Regular Contest 001
AtCoder Regular Contest 001
AtCoder Inc.
?
実践?最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)
実践?最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)実践?最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)
実践?最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)
AtCoder Inc.
?

Similar to 竞プロは人生の役に立つ! (11)

区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
Kensuke Otsuki
?
図と実装で理解する『木构造入门』
図と実装で理解する『木构造入门』図と実装で理解する『木构造入门』
図と実装で理解する『木构造入门』
Proktmr
?
AtCoder Beginner Contest 006 解説
AtCoder Beginner Contest 006 解説AtCoder Beginner Contest 006 解説
AtCoder Beginner Contest 006 解説
AtCoder Inc.
?
210122 msi dp
210122 msi dp210122 msi dp
210122 msi dp
Kensuke Otsuki
?
わんくま勉强会东京#82 あおいたんのパズルを数学しましょうか
わんくま勉强会东京#82 あおいたんのパズルを数学しましょうかわんくま勉强会东京#82 あおいたんのパズルを数学しましょうか
わんくま勉强会东京#82 あおいたんのパズルを数学しましょうか
Masami Yabushita
?
搁鲍笔颁2017:骋解説
搁鲍笔颁2017:骋解説搁鲍笔颁2017:骋解説
搁鲍笔颁2017:骋解説
Takumi Yamashita
?
CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説
AtCoder Inc.
?
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
Masami Yabushita
?
WUPC2012
WUPC2012WUPC2012
WUPC2012
Dai Hamada
?
虫食算を作るアルコ?リス?ム 公表Ver
虫食算を作るアルコ?リス?ム 公表Ver虫食算を作るアルコ?リス?ム 公表Ver
虫食算を作るアルコ?リス?ム 公表Ver
Kensuke Otsuki
?
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
Kensuke Otsuki
?
図と実装で理解する『木构造入门』
図と実装で理解する『木构造入门』図と実装で理解する『木构造入门』
図と実装で理解する『木构造入门』
Proktmr
?
AtCoder Beginner Contest 006 解説
AtCoder Beginner Contest 006 解説AtCoder Beginner Contest 006 解説
AtCoder Beginner Contest 006 解説
AtCoder Inc.
?
わんくま勉强会东京#82 あおいたんのパズルを数学しましょうか
わんくま勉强会东京#82 あおいたんのパズルを数学しましょうかわんくま勉强会东京#82 あおいたんのパズルを数学しましょうか
わんくま勉强会东京#82 あおいたんのパズルを数学しましょうか
Masami Yabushita
?
CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説
AtCoder Inc.
?
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
Masami Yabushita
?
虫食算を作るアルコ?リス?ム 公表Ver
虫食算を作るアルコ?リス?ム 公表Ver虫食算を作るアルコ?リス?ム 公表Ver
虫食算を作るアルコ?リス?ム 公表Ver
Kensuke Otsuki
?

More from Kensuke Otsuki (11)

ものづくりに活かす数学 (2024 年 1 月 26 日 N/S 高等学校での数学の授業)
ものづくりに活かす数学 (2024 年 1 月 26 日 N/S 高等学校での数学の授業)ものづくりに活かす数学 (2024 年 1 月 26 日 N/S 高等学校での数学の授業)
ものづくりに活かす数学 (2024 年 1 月 26 日 N/S 高等学校での数学の授業)
Kensuke Otsuki
?
人それぞれの竞プロとの向き合い方
人それぞれの竞プロとの向き合い方人それぞれの竞プロとの向き合い方
人それぞれの竞プロとの向き合い方
Kensuke Otsuki
?
アルゴリズムを楽しく!蔼笔颈测辞驳谤补尘尘别谤颁辞苍蹿别谤别苍肠别
アルゴリズムを楽しく!蔼笔颈测辞驳谤补尘尘别谤颁辞苍蹿别谤别苍肠别アルゴリズムを楽しく!蔼笔颈测辞驳谤补尘尘别谤颁辞苍蹿别谤别苍肠别
アルゴリズムを楽しく!蔼笔颈测辞驳谤补尘尘别谤颁辞苍蹿别谤别苍肠别
Kensuke Otsuki
?
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
Kensuke Otsuki
?
JOI春季ステップアップセミナー 2021 講義スライド
JOI春季ステップアップセミナー 2021 講義スライドJOI春季ステップアップセミナー 2021 講義スライド
JOI春季ステップアップセミナー 2021 講義スライド
Kensuke Otsuki
?
IT エンジニア本大賞 2021 講演資料
IT エンジニア本大賞 2021 講演資料IT エンジニア本大賞 2021 講演資料
IT エンジニア本大賞 2021 講演資料
Kensuke Otsuki
?
Optimization night 4_dp
Optimization night 4_dpOptimization night 4_dp
Optimization night 4_dp
Kensuke Otsuki
?
『问题解决力を锻える!アルゴリズムとデータ构造』出版记念讲演
『问题解决力を锻える!アルゴリズムとデータ构造』出版记念讲演『问题解决力を锻える!アルゴリズムとデータ构造』出版记念讲演
『问题解决力を锻える!アルゴリズムとデータ构造』出版记念讲演
Kensuke Otsuki
?
虫食算に学ぶ、深さ優先探索アルゴリズム (combmof, 2018/12/23)
虫食算に学ぶ、深さ優先探索アルゴリズム (combmof, 2018/12/23)虫食算に学ぶ、深さ優先探索アルゴリズム (combmof, 2018/12/23)
虫食算に学ぶ、深さ優先探索アルゴリズム (combmof, 2018/12/23)
Kensuke Otsuki
?
ディープラーニング入門 ~ 画像処理?自然言語処理について ~
ディープラーニング入門 ~ 画像処理?自然言語処理について ~ディープラーニング入門 ~ 画像処理?自然言語処理について ~
ディープラーニング入門 ~ 画像処理?自然言語処理について ~
Kensuke Otsuki
?
2部グラフの最小点被覆の求め方
2部グラフの最小点被覆の求め方2部グラフの最小点被覆の求め方
2部グラフの最小点被覆の求め方
Kensuke Otsuki
?
ものづくりに活かす数学 (2024 年 1 月 26 日 N/S 高等学校での数学の授業)
ものづくりに活かす数学 (2024 年 1 月 26 日 N/S 高等学校での数学の授業)ものづくりに活かす数学 (2024 年 1 月 26 日 N/S 高等学校での数学の授業)
ものづくりに活かす数学 (2024 年 1 月 26 日 N/S 高等学校での数学の授業)
Kensuke Otsuki
?
人それぞれの竞プロとの向き合い方
人それぞれの竞プロとの向き合い方人それぞれの竞プロとの向き合い方
人それぞれの竞プロとの向き合い方
Kensuke Otsuki
?
アルゴリズムを楽しく!蔼笔颈测辞驳谤补尘尘别谤颁辞苍蹿别谤别苍肠别
アルゴリズムを楽しく!蔼笔颈测辞驳谤补尘尘别谤颁辞苍蹿别谤别苍肠别アルゴリズムを楽しく!蔼笔颈测辞驳谤补尘尘别谤颁辞苍蹿别谤别苍肠别
アルゴリズムを楽しく!蔼笔颈测辞驳谤补尘尘别谤颁辞苍蹿别谤别苍肠别
Kensuke Otsuki
?
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
Kensuke Otsuki
?
JOI春季ステップアップセミナー 2021 講義スライド
JOI春季ステップアップセミナー 2021 講義スライドJOI春季ステップアップセミナー 2021 講義スライド
JOI春季ステップアップセミナー 2021 講義スライド
Kensuke Otsuki
?
IT エンジニア本大賞 2021 講演資料
IT エンジニア本大賞 2021 講演資料IT エンジニア本大賞 2021 講演資料
IT エンジニア本大賞 2021 講演資料
Kensuke Otsuki
?
『问题解决力を锻える!アルゴリズムとデータ构造』出版记念讲演
『问题解决力を锻える!アルゴリズムとデータ构造』出版记念讲演『问题解决力を锻える!アルゴリズムとデータ构造』出版记念讲演
『问题解决力を锻える!アルゴリズムとデータ构造』出版记念讲演
Kensuke Otsuki
?
虫食算に学ぶ、深さ優先探索アルゴリズム (combmof, 2018/12/23)
虫食算に学ぶ、深さ優先探索アルゴリズム (combmof, 2018/12/23)虫食算に学ぶ、深さ優先探索アルゴリズム (combmof, 2018/12/23)
虫食算に学ぶ、深さ優先探索アルゴリズム (combmof, 2018/12/23)
Kensuke Otsuki
?
ディープラーニング入門 ~ 画像処理?自然言語処理について ~
ディープラーニング入門 ~ 画像処理?自然言語処理について ~ディープラーニング入門 ~ 画像処理?自然言語処理について ~
ディープラーニング入門 ~ 画像処理?自然言語処理について ~
Kensuke Otsuki
?
2部グラフの最小点被覆の求め方
2部グラフの最小点被覆の求め方2部グラフの最小点被覆の求め方
2部グラフの最小点被覆の求め方
Kensuke Otsuki
?

Recently uploaded (6)

TAUHANNGNOLIMETANGEREKAYAYANBOISGL!!!.pptx
TAUHANNGNOLIMETANGEREKAYAYANBOISGL!!!.pptxTAUHANNGNOLIMETANGEREKAYAYANBOISGL!!!.pptx
TAUHANNGNOLIMETANGEREKAYAYANBOISGL!!!.pptx
SheanOrvinBalao
?
それ、マルハラかも。 ~メッセージ上の句点による暗黙的ハラスメント の実在性についてのサーベイ実験
それ、マルハラかも。 ~メッセージ上の句点による暗黙的ハラスメント の実在性についてのサーベイ実験それ、マルハラかも。 ~メッセージ上の句点による暗黙的ハラスメント の実在性についてのサーベイ実験
それ、マルハラかも。 ~メッセージ上の句点による暗黙的ハラスメント の実在性についてのサーベイ実験
KeisukeHattori1
?
第57回計測自動制御学会北海道支部講演会 特別講演 システムインテグレーションとロボットミドルウェア
第57回計測自動制御学会北海道支部講演会 特別講演 システムインテグレーションとロボットミドルウェア第57回計測自動制御学会北海道支部講演会 特別講演 システムインテグレーションとロボットミドルウェア
第57回計測自動制御学会北海道支部講演会 特別講演 システムインテグレーションとロボットミドルウェア
OpenRTM1
?
ALPHABET FLASHCARD FOR PRESCHOOL TO KINDERGARTEN LEARNERS.docx
ALPHABET FLASHCARD FOR PRESCHOOL TO KINDERGARTEN LEARNERS.docxALPHABET FLASHCARD FOR PRESCHOOL TO KINDERGARTEN LEARNERS.docx
ALPHABET FLASHCARD FOR PRESCHOOL TO KINDERGARTEN LEARNERS.docx
ruthbarnuevo1
?
cardiom??????????????????????yopathy .pdf
cardiom??????????????????????yopathy .pdfcardiom??????????????????????yopathy .pdf
cardiom??????????????????????yopathy .pdf
ssuser16d694
?
タワーマンション効果 ?高所からの眺望が、人の心理状態に及ぼす影響を探るRCTs
タワーマンション効果 ?高所からの眺望が、人の心理状態に及ぼす影響を探るRCTsタワーマンション効果 ?高所からの眺望が、人の心理状態に及ぼす影響を探るRCTs
タワーマンション効果 ?高所からの眺望が、人の心理状態に及ぼす影響を探るRCTs
KeisukeHattori1
?
TAUHANNGNOLIMETANGEREKAYAYANBOISGL!!!.pptx
TAUHANNGNOLIMETANGEREKAYAYANBOISGL!!!.pptxTAUHANNGNOLIMETANGEREKAYAYANBOISGL!!!.pptx
TAUHANNGNOLIMETANGEREKAYAYANBOISGL!!!.pptx
SheanOrvinBalao
?
それ、マルハラかも。 ~メッセージ上の句点による暗黙的ハラスメント の実在性についてのサーベイ実験
それ、マルハラかも。 ~メッセージ上の句点による暗黙的ハラスメント の実在性についてのサーベイ実験それ、マルハラかも。 ~メッセージ上の句点による暗黙的ハラスメント の実在性についてのサーベイ実験
それ、マルハラかも。 ~メッセージ上の句点による暗黙的ハラスメント の実在性についてのサーベイ実験
KeisukeHattori1
?
第57回計測自動制御学会北海道支部講演会 特別講演 システムインテグレーションとロボットミドルウェア
第57回計測自動制御学会北海道支部講演会 特別講演 システムインテグレーションとロボットミドルウェア第57回計測自動制御学会北海道支部講演会 特別講演 システムインテグレーションとロボットミドルウェア
第57回計測自動制御学会北海道支部講演会 特別講演 システムインテグレーションとロボットミドルウェア
OpenRTM1
?
ALPHABET FLASHCARD FOR PRESCHOOL TO KINDERGARTEN LEARNERS.docx
ALPHABET FLASHCARD FOR PRESCHOOL TO KINDERGARTEN LEARNERS.docxALPHABET FLASHCARD FOR PRESCHOOL TO KINDERGARTEN LEARNERS.docx
ALPHABET FLASHCARD FOR PRESCHOOL TO KINDERGARTEN LEARNERS.docx
ruthbarnuevo1
?
cardiom??????????????????????yopathy .pdf
cardiom??????????????????????yopathy .pdfcardiom??????????????????????yopathy .pdf
cardiom??????????????????????yopathy .pdf
ssuser16d694
?
タワーマンション効果 ?高所からの眺望が、人の心理状態に及ぼす影響を探るRCTs
タワーマンション効果 ?高所からの眺望が、人の心理状態に及ぼす影響を探るRCTsタワーマンション効果 ?高所からの眺望が、人の心理状態に及ぼす影響を探るRCTs
タワーマンション効果 ?高所からの眺望が、人の心理状態に及ぼす影響を探るRCTs
KeisukeHattori1
?

竞プロは人生の役に立つ!