SlideShare a Scribd company logo
1 of 33
Download to read offline
Introduction to Using
Standard Template
Libraries
Speaker: Soichi Tanaka
今日話すこと
C++ の STL について話します
Java 勢のみなさん、ごめんなさい!
これを使いこなせると解ける問題の幅が広がります
STL の概要
STL とは
Standard Template Library の略
型に応じて挙動を変える標準ライブラリ
型指定のフォーマット: func<型>
今回説明するのはコンテナと呼ばれるタイプ
コンテナ: 要素をたくさん持つデータのこと
#include <iostream>
#include <set>
using namespace std;
int main() {
set<int> s; // int を要素に持つ集合 (s = {})
s.insert(10); // 10 を追加 (s = {10})
s.insert(20); // 20 を追加 (s = {10, 20})
s.insert(10); // 10 を追加 (s = {10, 20})
cout << s.size() << endl; // s の要素数 (= 2)
return 0;
}
イテレータ
コンテナの内部要素に直接アクセスする機能
内部要素を指すポインタのような存在
演算子はうまく定義されている
++iterは次の要素へ
typedef set<int> S; // typedef で型に別名がつけられる
int main() {
S s;
for (int n = 0; n < 10; ++n) {
s.insert(n*n - 2*n + 3);
}
// s.end() は終端を表す仮想的なイテレータ
for (S::iterator iter = s.begin(); iter != s.end(); ++iter) {
// *iter でその実体を表す
// s の要素を列挙
cout << *iter << endl;
}
return 0;
}
最低限覚えておきたい STL の種類
vector: 可変長配列
set: 集合
map: 連想配列
queue: キュー
stack: スタック
priority_queue: 優先度付きキュー
参考になるサイト
http://www.cplusplus.com/reference/
http://www.cppll.jp/cppreference/cpp_stl.html
vector - 可変長配列
配列みたいなやつ
配列の大きさを後から変えられる
#include <vector>
using namespace std;
int main() {
vector<double> v;
return 0;
}
vector の特徴
でできることO(1)
ランダムアクセス
末尾要素の追加, 削除
かかってしまうことO(n)
末尾以外の要素の追加, 削除
配列内に要素 xがあるかの検索
メソッド
v[i]ランダムアクセス
v.push_back(x)末尾へ追加
v.pop_back()末尾の削除
v.size()要素数
int main() {
vector<int> v;
for (int i = 0; i < 3; ++i) {
v.push_back(10*i + 1); // 要素の追加
}
cout << "v: ";
for (int i = 0; i < (int)v.size(); ++i) {
cout << v[i] << " "; // 各要素の表示
}
while (v.size() > 0) {
v.pop_back(); // 要素の削除
}
return 0;
}
その他
vector はイテレータを使わない方が良いと思う
ソートするときだけイテレータを使う
vector 同士の比較演算ができる
辞書順比較みたいなことをする
#include <algorithm> // sort
#include <iostream>
#include <vector>
using namespace std;
int main() {
int a[4] = {30, 10, 20, 40};
vector<int> v1, v2;
for (int i = 0; i < 4; ++i) v1.push_back(a[i]);
v2 = v1;
sort(v2.begin(), v2.end());
for (int i = 0; i < (int)v2.size(); ++i) cout << v2[i] << endl;
cout << (v1 >= v2? "v1 >= v2": "v1 < v2") << endl;
return 0;
}
set - 集合
数学の集合と同じ
要素が集合に含まれているか記憶する
要素間の順序や各要素の個数は記憶されない
イテレータを使うとソート順で要素を列挙できる
比較演算 <が未定義のものは集合にできない
例えば複素数型 (complex)
#include <set>
using namespace std;
int main() {
set<double> s;
return 0;
}
set の特徴
でできることO(log n)
要素の追加, 削除
集合内に要素 xが存在するかの判定
メソッド
s.insert(x)要素の追加
s.count(x)要素が含まれているか
s.find(x) != s.end()でもできる
s.size()要素数
s.erase(x)要素の削除
typedef set<int>::iterator Iter; // X::iterator は型なので別名がつけられる
int main() {
set<int> s; // s = {}
s.insert(10); // s = {10}
s.insert(20); // s = {10, 20}
s.insert(10); // s = {10, 20}
cout << s.size() << endl; // 2
for (Iter iter = s.begin(); iter != s.end(); ++iter) {
cout << *iter << endl; // ソート順 (10, 20 の順) で列挙
}
s.erase(10); // s = {20}
cout << s.size() << endl; // 1
return 0;
}
map - 連想配列
配列の拡張概念
key を入力すると value にアクセスできるデータ型
(例) height["Alice"] = 160
key が "Alice"で value が 160
key の型は比較演算 <が定義されている必要がある
イテレータを使うと key のソート順に列挙できる
#include <iostream>
#include <map>
using namespace std;
int main() {
map<string, int> m; // map<key の型, value の型>
return 0;
}
map の特徴
でできることO(log n)
ランダムアクセス
要素の追加と削除
メソッド
m.count(key)で要素の検索
m[key]でランダムアクセスと要素の追加
m.size()で要素数
m.erase(key)で要素の削除
typedef map<string, int> M; // typedef で型に別名をつけられる
int main() {
M m; // m = {}
m["Alice"] = 160; // m = {"Alice": 160}
m["Bob"] = 150; // m = {"Alice": 160, "Bob": 150}
m["Alice"] = 200; // m = {"Alice": 200, "Bob": 150}
for (M::iterator iter = m.begin(); iter != m.end(); ++iter) {
// key のソート順で列挙 ("Alice", "Bob" の順)
// iter->first は key で iter->second は value
cout << iter->first << ": " << iter->second << endl;
}
return 0;
}
queue - キュー
FIFO (First In First Out)
要素の追加と取り出しができる
取り出し順は追加の早い順
#include <queue>
using namespace std;
int main() {
queue<int> q;
return 0;
}
queue の特徴
でできることO(1)
FIFO に従ったデータの出し入れ
かかることO(n)
FIFO に従わないランダムアクセス
メソッド (queue)
q.pop()先頭要素の削除
q.front()先頭要素の参照
q.push(x)要素の追加
q.size()要素数
イテレータはない
int main() {
int a[4] = {10, 30, 20, 30};
queue<int> q;
for (int i = 0; i < 4; ++i) q.push(a[i]);
while (q.size() > 0) {
cout << q.front() << endl; // 10, 30, 20, 30 の順
q.pop();
}
return 0;
}
stack - スタック
FILO (First In Last Out)
要素の追加と取り出しができる
取り出し順は追加の遅い順
#include <stack>
using namespace std;
int main() {
stack<int> s;
return 0;
}
stack の特徴
でできることO(1)
FILO に従ったデータの出し入れ
かかることO(n)
FILO に従わないランダムアクセス
メソッド (stack)
s.pop()先頭要素の削除
s.top()先頭要素の参照
s.push(x)要素の追加
s.size()要素数
イテレータはない
int main() {
int a[4] = {10, 30, 20, 30};
stack<int> s;
for (int i = 0; i < 4; ++i) s.push(a[i]);
while (s.size() > 0) {
cout << s.top() << endl; // 30, 20, 30, 10 の順
s.pop();
}
return 0;
}
priority_queue
キューと大体同じだが、取り出しは最大の要素から
比較演算 <が定義されているもの限定
#include <queue> // #include <priority_queue> ではない
using namespace std;
int main() {
priority_queue<int> pq;
return 0;
}
でできることO(log n)
要素の追加
最大要素の取り出し
メソッド
pq.pop()最大要素の削除
pq.push(x)要素の追加
pq.top()最大要素の参照
pq.size()要素数
イテレータはない
int main() {
int a[5] = {10, 30, 20, 50, 20};
priority_queue<int> pq;
for (int i = 0; i < 5; ++i) pq.push(a[i]);
while (pq.size() > 0) {
cout << pq.top() << endl; // 50, 30, 20, 20, 10 の順
pq.pop();
}
return 0;
}
その他
最小の要素から出るように変更することも可能
#include <iostream>
#include <queue> // priority_queue
#include <vector> // vector
#include <algorithm> // greater
using namespace std;
int main() {
// 最小要素から出てくるようにするおまじない
priority_queue<int, vector<int>, greater<int> > pq;
int a[5] = {10, 30, 20, 50, 20};
for (int i = 0; i < 5; ++i) pq.push(a[i]);
while (pq.size() > 0) {
cout << pq.top() << endl; // 10, 20, 20, 30, 50 の順
pq.pop();
}
return 0;
}
pair - ペア (おまけ)
2要素を持つ型
比較演算ができる
first, secondの順で比較
pair(コスト, 本体データ)が便利
priority_queue などで活躍
#include <iostream>
#include <utility>
using namespace std;
int main() {
pair<double, string> p(3.14, "pi");
p.first = 3;
cout << p.first << ", " << p.second << endl; // 3, pi
return 0;
}
C++11 の話 その1
C++11 よりも前のバージョンでは...
X<Y<Z> >のようにスペースを入れる必要がある
>>がシフト演算子だと判断されるため
C++11 では X<Y<Z>>と書ける
int main() {
// C++11 よりも前のバージョンでは
// set<vector<int> > v; と書かなくてはならなかった
set<vector<int>> v; // C++11 では OK
return 0;
}
C++11 の話 その2
コンテナへの代入が簡単に
配列の初期化みたいな書き方ができるようになった
int main() {
// C++11 以前ではコンテナに対して
// {} を使った初期化はできなかった
vector<set<int>> v = {{3, 1, 2}, {2, 1, 2}};
return 0;
}
C++11 の話 その3
range-based for loop が利用可能になった
イテレータを持つコンテナで利用可能
for (型 変数 : コンテナ)という構文
int main() {
vector<set<int>> v = {{3, 1, 2}, {2, 1, 2}};
for (set<int>& s : v) { // v の各要素が順に s に代入される
for (int x : s) { // s の各要素が順に x に代入される
cout << x << " "; // 1 2 3 n 1 2 n
}
cout << endl;
}
return 0;
}
その他重要そうな STL
deque: デック
vector の上位互換
先頭と末尾に対する要素追加と削除が
list: リスト
vector 同様、要素の順序を記憶する
短所: ランダムアクセスはできない
長所: どんな位置でも要素挿入・削除が
unordered_set
unordered_map
C++11 以降で利用可能
長所: 操作が (平均) に
短所: ソート順ではなくなる
O(1)
O(1)
O(n log n) O(1)
Thank you for your
attention!

More Related Content

What's hot

my_min関数の動作説明
my_min関数の動作説明my_min関数の動作説明
my_min関数の動作説明APG4b
 
C# ドキドキ ライブ コーディング!! ~ 小島の分 ~ | BuriKaigi 2020
C# ドキドキ ライブ コーディング!! ~ 小島の分 ~ | BuriKaigi 2020C# ドキドキ ライブ コーディング!! ~ 小島の分 ~ | BuriKaigi 2020
C# ドキドキ ライブ コーディング!! ~ 小島の分 ~ | BuriKaigi 2020Fujio Kojima
 
Protocol-Oriented Integers に想うジェネリックプログラミングの未来
Protocol-Oriented Integers に想うジェネリックプログラミングの未来Protocol-Oriented Integers に想うジェネリックプログラミングの未来
Protocol-Oriented Integers に想うジェネリックプログラミングの未来Tomohiro Kumagai
 
apg4b 4.05 ポインタ
apg4b 4.05 ポインタapg4b 4.05 ポインタ
apg4b 4.05 ポインタAPG4b
 
for文
for文for文
for文APG4b
 
プログラムの実行順序
プログラムの実行順序プログラムの実行順序
プログラムの実行順序APG4b
 
入力
入力入力
入力APG4b
 
Van laarhoven lens
Van laarhoven lensVan laarhoven lens
Van laarhoven lensNaoki Aoyama
 
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~Fujio Kojima
 
Goをカンストさせる話
Goをカンストさせる話Goをカンストさせる話
Goをカンストさせる話Moriyoshi Koizumi
 
while文
while文while文
while文APG4b
 
String representation in py3k
String representation in py3kString representation in py3k
String representation in py3kAtsuo Ishimoto
 
ナウなヤングにバカうけのイカしたタグ付き共用体
ナウなヤングにバカうけのイカしたタグ付き共用体ナウなヤングにバカうけのイカしたタグ付き共用体
ナウなヤングにバカうけのイカしたタグ付き共用体digitalghost
 
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014Takashi J OZAKI
 
Swift 3 を書くときに知っておきたい API デザインガイドライン #love_swift #akibaswift
Swift 3 を書くときに知っておきたい API デザインガイドライン #love_swift #akibaswiftSwift 3 を書くときに知っておきたい API デザインガイドライン #love_swift #akibaswift
Swift 3 を書くときに知っておきたい API デザインガイドライン #love_swift #akibaswiftTomohiro Kumagai
 

What's hot (20)

my_min関数の動作説明
my_min関数の動作説明my_min関数の動作説明
my_min関数の動作説明
 
C# ドキドキ ライブ コーディング!! ~ 小島の分 ~ | BuriKaigi 2020
C# ドキドキ ライブ コーディング!! ~ 小島の分 ~ | BuriKaigi 2020C# ドキドキ ライブ コーディング!! ~ 小島の分 ~ | BuriKaigi 2020
C# ドキドキ ライブ コーディング!! ~ 小島の分 ~ | BuriKaigi 2020
 
Protocol-Oriented Integers に想うジェネリックプログラミングの未来
Protocol-Oriented Integers に想うジェネリックプログラミングの未来Protocol-Oriented Integers に想うジェネリックプログラミングの未来
Protocol-Oriented Integers に想うジェネリックプログラミングの未来
 
apg4b 4.05 ポインタ
apg4b 4.05 ポインタapg4b 4.05 ポインタ
apg4b 4.05 ポインタ
 
Emcjp item21
Emcjp item21Emcjp item21
Emcjp item21
 
Applicative functor
Applicative functorApplicative functor
Applicative functor
 
for文
for文for文
for文
 
プログラムの実行順序
プログラムの実行順序プログラムの実行順序
プログラムの実行順序
 
入力
入力入力
入力
 
CLR/H No.35-2
CLR/H No.35-2CLR/H No.35-2
CLR/H No.35-2
 
Van laarhoven lens
Van laarhoven lensVan laarhoven lens
Van laarhoven lens
 
機械学習
機械学習機械学習
機械学習
 
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
 
Goをカンストさせる話
Goをカンストさせる話Goをカンストさせる話
Goをカンストさせる話
 
while文
while文while文
while文
 
String representation in py3k
String representation in py3kString representation in py3k
String representation in py3k
 
ナウなヤングにバカうけのイカしたタグ付き共用体
ナウなヤングにバカうけのイカしたタグ付き共用体ナウなヤングにバカうけのイカしたタグ付き共用体
ナウなヤングにバカうけのイカしたタグ付き共用体
 
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
 
Swift 3 を書くときに知っておきたい API デザインガイドライン #love_swift #akibaswift
Swift 3 を書くときに知っておきたい API デザインガイドライン #love_swift #akibaswiftSwift 3 を書くときに知っておきたい API デザインガイドライン #love_swift #akibaswift
Swift 3 を書くときに知っておきたい API デザインガイドライン #love_swift #akibaswift
 
Map
MapMap
Map
 

Similar to 初めてのSTL

C++0x in programming competition
C++0x in programming competitionC++0x in programming competition
C++0x in programming competitionyak1ex
 
C++0x in programming competition
C++0x in programming competitionC++0x in programming competition
C++0x in programming competitionyak1ex
 
Brief introduction of Boost.ICL
Brief introduction of Boost.ICLBrief introduction of Boost.ICL
Brief introduction of Boost.ICLyak1ex
 
SystemC Tutorial
SystemC TutorialSystemC Tutorial
SystemC Tutorialkocha2012
 
2011.12.10 関数型都市忘年会 発表資料「最近書いた、関数型言語と関連する?C++プログラムの紹介」
2011.12.10 関数型都市忘年会 発表資料「最近書いた、関数型言語と関連する?C++プログラムの紹介」2011.12.10 関数型都市忘年会 発表資料「最近書いた、関数型言語と関連する?C++プログラムの紹介」
2011.12.10 関数型都市忘年会 発表資料「最近書いた、関数型言語と関連する?C++プログラムの紹介」Hiro H.
 
ぱっと見でわかるC++11
ぱっと見でわかるC++11ぱっと見でわかるC++11
ぱっと見でわかるC++11えぴ 福田
 
クロージャデザインパターン
クロージャデザインパターンクロージャデザインパターン
クロージャデザインパターンMoriharu Ohzu
 
速くなければスマフォじゃない - インターンバージョン-
速くなければスマフォじゃない - インターンバージョン-速くなければスマフォじゃない - インターンバージョン-
速くなければスマフォじゃない - インターンバージョン-Kazunari Hara
 
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)Hiro H.
 
Swift 3.0 の新機能 - 追加・変更まわりだけ、ざっくり紹介 2 #devsap
Swift 3.0 の新機能 - 追加・変更まわりだけ、ざっくり紹介 2 #devsapSwift 3.0 の新機能 - 追加・変更まわりだけ、ざっくり紹介 2 #devsap
Swift 3.0 の新機能 - 追加・変更まわりだけ、ざっくり紹介 2 #devsapTomohiro Kumagai
 
JavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 AutumnJavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 AutumnKoji Ishimoto
 
Replace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPReplace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPAkira Takahashi
 
Ocaml lecture slides 01 at axsh
Ocaml lecture slides 01 at axshOcaml lecture slides 01 at axsh
Ocaml lecture slides 01 at axshTomofumi Hayashi
 
Design mvc apps with spotify web api object model
Design mvc apps with spotify web api object modelDesign mvc apps with spotify web api object model
Design mvc apps with spotify web api object modelTakao Tetsuro
 
20141128 iOSチーム勉強会 My Sweet Swift
20141128 iOSチーム勉強会 My Sweet Swift20141128 iOSチーム勉強会 My Sweet Swift
20141128 iOSチーム勉強会 My Sweet Swiftnecocen
 
Java9直前!最近のJava復習ハンズオン
Java9直前!最近のJava復習ハンズオンJava9直前!最近のJava復習ハンズオン
Java9直前!最近のJava復習ハンズオンHiroto Yamakawa
 
サーバーサイドでの非同期処理で色々やったよ
サーバーサイドでの非同期処理で色々やったよサーバーサイドでの非同期処理で色々やったよ
サーバーサイドでの非同期処理で色々やったよkoji lin
 

Similar to 初めてのSTL (20)

C++0x in programming competition
C++0x in programming competitionC++0x in programming competition
C++0x in programming competition
 
C++0x in programming competition
C++0x in programming competitionC++0x in programming competition
C++0x in programming competition
 
Brief introduction of Boost.ICL
Brief introduction of Boost.ICLBrief introduction of Boost.ICL
Brief introduction of Boost.ICL
 
SystemC Tutorial
SystemC TutorialSystemC Tutorial
SystemC Tutorial
 
Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7
 
2011.12.10 関数型都市忘年会 発表資料「最近書いた、関数型言語と関連する?C++プログラムの紹介」
2011.12.10 関数型都市忘年会 発表資料「最近書いた、関数型言語と関連する?C++プログラムの紹介」2011.12.10 関数型都市忘年会 発表資料「最近書いた、関数型言語と関連する?C++プログラムの紹介」
2011.12.10 関数型都市忘年会 発表資料「最近書いた、関数型言語と関連する?C++プログラムの紹介」
 
ぱっと見でわかるC++11
ぱっと見でわかるC++11ぱっと見でわかるC++11
ぱっと見でわかるC++11
 
クロージャデザインパターン
クロージャデザインパターンクロージャデザインパターン
クロージャデザインパターン
 
速くなければスマフォじゃない - インターンバージョン-
速くなければスマフォじゃない - インターンバージョン-速くなければスマフォじゃない - インターンバージョン-
速くなければスマフォじゃない - インターンバージョン-
 
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
 
Swift 3.0 の新機能 - 追加・変更まわりだけ、ざっくり紹介 2 #devsap
Swift 3.0 の新機能 - 追加・変更まわりだけ、ざっくり紹介 2 #devsapSwift 3.0 の新機能 - 追加・変更まわりだけ、ざっくり紹介 2 #devsap
Swift 3.0 の新機能 - 追加・変更まわりだけ、ざっくり紹介 2 #devsap
 
Boost tour 1_44_0
Boost tour 1_44_0Boost tour 1_44_0
Boost tour 1_44_0
 
Boost Tour 1.50.0
Boost Tour 1.50.0Boost Tour 1.50.0
Boost Tour 1.50.0
 
JavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 AutumnJavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 Autumn
 
Replace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPReplace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JP
 
Ocaml lecture slides 01 at axsh
Ocaml lecture slides 01 at axshOcaml lecture slides 01 at axsh
Ocaml lecture slides 01 at axsh
 
Design mvc apps with spotify web api object model
Design mvc apps with spotify web api object modelDesign mvc apps with spotify web api object model
Design mvc apps with spotify web api object model
 
20141128 iOSチーム勉強会 My Sweet Swift
20141128 iOSチーム勉強会 My Sweet Swift20141128 iOSチーム勉強会 My Sweet Swift
20141128 iOSチーム勉強会 My Sweet Swift
 
Java9直前!最近のJava復習ハンズオン
Java9直前!最近のJava復習ハンズオンJava9直前!最近のJava復習ハンズオン
Java9直前!最近のJava復習ハンズオン
 
サーバーサイドでの非同期処理で色々やったよ
サーバーサイドでの非同期処理で色々やったよサーバーサイドでの非同期処理で色々やったよ
サーバーサイドでの非同期処理で色々やったよ
 

More from HCPC: 北海道大学競技プログラミングサークル

More from HCPC: 北海道大学競技プログラミングサークル (20)

写像 12 相
写像 12 相写像 12 相
写像 12 相
 
ACPC 2017 Day3 F: 掛け算は楽しい
ACPC 2017 Day3 F: 掛け算は楽しいACPC 2017 Day3 F: 掛け算は楽しい
ACPC 2017 Day3 F: 掛け算は楽しい
 
ACPC 2017 Day3 D: 優柔不断
ACPC 2017 Day3 D: 優柔不断ACPC 2017 Day3 D: 優柔不断
ACPC 2017 Day3 D: 優柔不断
 
ACPC 2019 Day3 G: Restricted DFS
ACPC 2019 Day3 G: Restricted DFSACPC 2019 Day3 G: Restricted DFS
ACPC 2019 Day3 G: Restricted DFS
 
ACPC 2019 Day3 F: 部分文字列分解
ACPC 2019 Day3 F: 部分文字列分解ACPC 2019 Day3 F: 部分文字列分解
ACPC 2019 Day3 F: 部分文字列分解
 
ACPC 2019 Day3 E: 総和の切り取り
ACPC 2019 Day3 E: 総和の切り取りACPC 2019 Day3 E: 総和の切り取り
ACPC 2019 Day3 E: 総和の切り取り
 
ACPC 2019 Day3 B: パフェ
ACPC 2019 Day3 B: パフェACPC 2019 Day3 B: パフェ
ACPC 2019 Day3 B: パフェ
 
ACPC 2019 Day3 A: 間違い探し
ACPC 2019 Day3 A: 間違い探しACPC 2019 Day3 A: 間違い探し
ACPC 2019 Day3 A: 間違い探し
 
HUPC 2019 Day2 G: 木
HUPC 2019 Day2 G: 木HUPC 2019 Day2 G: 木
HUPC 2019 Day2 G: 木
 
HUPC 2019 Day2 E: ジャム
HUPC 2019 Day2 E: ジャムHUPC 2019 Day2 E: ジャム
HUPC 2019 Day2 E: ジャム
 
HUPC 2019 Day2 H: Revenge of UMG
HUPC 2019 Day2 H: Revenge of UMGHUPC 2019 Day2 H: Revenge of UMG
HUPC 2019 Day2 H: Revenge of UMG
 
HUPC 2019 Day2 F: MOD Rush
HUPC 2019 Day2 F: MOD RushHUPC 2019 Day2 F: MOD Rush
HUPC 2019 Day2 F: MOD Rush
 
HUPC 2019 Day2 C: 串刺し
HUPC 2019 Day2 C: 串刺しHUPC 2019 Day2 C: 串刺し
HUPC 2019 Day2 C: 串刺し
 
HUPC 2019 Day1 F: グリッドの番号
HUPC 2019 Day1 F: グリッドの番号HUPC 2019 Day1 F: グリッドの番号
HUPC 2019 Day1 F: グリッドの番号
 
HUPC 2019 Day1 E: 最短経路の復元
HUPC 2019 Day1 E: 最短経路の復元HUPC 2019 Day1 E: 最短経路の復元
HUPC 2019 Day1 E: 最短経路の復元
 
HUPC 2019 Day1 D: 貪欲が最適?
HUPC 2019 Day1 D: 貪欲が最適?HUPC 2019 Day1 D: 貪欲が最適?
HUPC 2019 Day1 D: 貪欲が最適?
 
HUPC 2019 Day1 C: 短絡評価
HUPC 2019 Day1 C: 短絡評価HUPC 2019 Day1 C: 短絡評価
HUPC 2019 Day1 C: 短絡評価
 
HUPC 2019 Day1 B: 自身の 2 倍
HUPC 2019 Day1 B: 自身の 2 倍HUPC 2019 Day1 B: 自身の 2 倍
HUPC 2019 Day1 B: 自身の 2 倍
 
HUPC 2019 Day1 A: four tea
HUPC 2019 Day1 A: four teaHUPC 2019 Day1 A: four tea
HUPC 2019 Day1 A: four tea
 
Convex Hull Trick
Convex Hull TrickConvex Hull Trick
Convex Hull Trick
 

Recently uploaded

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Recently uploaded (10)

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

初めてのSTL