SlideShare a Scribd company logo
1 of 32
Download to read offline
多倍長整数の乗算と高速フーリエ変換
KMC6 回生 prime
2018/11/01
2
自己紹介
●
KMC-ID: prime
●
Twitter: @_primenumber
●
Mastodon: @prime@mstdn.poyo.me
●
KMC での活動
– 競技プログラミング
– 難解プログラミング言語
– 電子錠の管理 (root)
– 第 37 代会計
3
目次
●
コンピューターにおける整数の表現
●
多倍長整数とは
●
ナイーブな乗算アルゴリズム
●
Karatsuba 法
●
Toom-3/4 法
●
高速フーリエ変換
4
コンピューターにおける整数の表現
●
多くのコンピューターでは整数は二進数で表される
●
負の数は 2 の補数を使って表される
●
1 バイトなら -128 〜 127
●
2 バイトなら -32768 〜 32767
●
4 バイトなら -2147483648 〜 2147483647
●
8 バイトなら -9223372036854775808 〜
9223372036854775807
●
有限のバイト数では有限の大きさしか表せない
5
多倍長整数
●
8 バイトでも表せないような、大きな数値を扱いたい
ときがある
●
複数の小さな整数表現を組み合わせて大きな数値を扱う
●
非負整数 を 進数で書くと、
●
   とすれば   個の 4 バイトデータで表せる
x B
x=a0+a1 B+a2 B2
+⋯+aN BN
(0≤ai<B)
B≤232
N+1
6
ナイーブな乗算アルゴリズム
●
筆算と同様に下の桁から計算する
x=∑i=0
N
ai Bi
y=∑j=0
M
bj B
j
xy=∑i=0
N
∑j=0
M
ai bj Bi+ j
= ∑l=0
N+M
Bl
∑
i=max(0,l−M)
min(N ,l)
ai bl−i
7
Karatsuba 法
●
       とおく
     とかける
●
このとき、積  を
と書ける
●
 の桁数の積 3 回に分解できた
●
加算や減算が増えるが、計算量としては小さい
C=B⌈max(N , M )/2⌉
x=c0+c1 C
y=d0+d1 C
xy
xy=(c0+c1 C)(d0+d1 C)=c0 d0+(c1 d0+c0 d1)C+c1 d1 C2
=c0 d0(1+C)−(c1−c0)(d1−d0)C+c1 d1(C+C2
)
1
2
8
Karatsuba 法
●
 の桁数の乗算 3 回(と加算数回)に帰着できるので
これより
1
2
f (N)=3 f (
N
2
)+O( N)
f (N)∈O(N
log 3
log 2
)⊂O(N
1.585
)
9
Toom-3
●
       とおく
        と書ける
●
ここで多項式        を
とおくと、積  は   と書ける
C=B⌈max(N , M )/3⌉
x=c0+c1 C+c2 C2
y=d0+d1 C+d2 C2
f (z) , g(z) , h(z)
f (z)=c0+c1 z+c2 z2
g(z)=d0+d1 z+d2 z2
h(z)=f (z) g(z)
xy h(C)
10
Toom-3
●
  は 4 次多項式なので、
と書ける。この係数 を求めたい
●
4 次多項式は 5 点での値が分かれば一意に定まる
●
適当に を取り、
を計算する
h(z)
h(z)=e0+e1 z+e2 z2
+e3 z3
+e4 z4
ki=h(zi)=f (zi) g(zi)(0≤i≤4)
zi
ei
11
Toom-3
●
連立方程式
を解く(ヴァンデルモンド行列なので解ける)
●
あとは得られた  に を代入するだけ
(
1 z0 z0
2
z0
3
z0
4
1 z1 z1
2
z1
3
z1
4
1 z2 z2
2
z2
3
z2
4
1 z3 z3
2
z3
3
z3
4
1 z4 z4
2
z4
3
z4
4
)(
e0
e1
e2
e3
e4
)=
(
k0
k1
k2
k3
k4
)
h(z) C
12
Toom-3
●
GMP ( GNU の多倍長整数ライブラリ)では
が使われている
– inf は      とするなど特別扱い
●
 の桁数の積 5 回に帰着できる
●
計算量は
zi=0,1,−1,2,inf
h(inf )=c2 d2
1
3
O( N
log 5
log 3
)⊂O( N
1.465
)
13
Toom-4
●
整数を の桁数に分けて多項式を作る
●
結果の多項式は 6 次なので 7 点あれば決定できる
●
 の桁数の積 7 回に帰着できる
●
計算量は
1
4
1
4
O( N
log 7
log 4
)⊂O( N
1.404
)
14
さらなる高みへ
●
もっと細かく分割すれば計算量減りそう
●
 の桁数の乗算    回に帰着できそう
●
計算量は      になる…?
–    なら   …?
1
K 2 K−1
O( N
log(2 K −1)
log K
)
K →∞ O( N)
15
さらなる高みへ
●
もっと細かく分割すれば計算量減りそう
●
 の桁数の乗算    回に帰着できそう
●
計算量は      になる…?
–    なら   …?
1
K 2 K−1
O( N
log(2 K −1)
log K
)
K →∞ O( N)これは嘘
16
さらなる高みへ
●
 が大きい場合、多項式の値の計算や連立方程式を解く
計算の計算量が無視できない
●
その計算量はともに
●
この計算量を小さくしたい
K
O(K
2
(
N
K
))=O(KN)
17
多項式の値の計算
●
多項式の値の計算は行列とベクトルの積で書ける
●
行列を 、ベクトルを  とおけば
(
1 z0 z0
2
⋯ z0
N
1 z1 z1
2
⋯ z1
N
1 z2 z2
2
⋯ z2
N
⋮ ⋮ ⋮ ⋱ ⋮
1 zN zN
2
⋯ zN
N
)(
a0
a1
a2
⋮
aN
)=
(
k0
k1
k2
⋮
kN
)
Z a , k
Za=k
18
連立方程式の求解
●
連立方程式   の解は
とかける
●
これも行列とベクトルの積
●
 と  がともにベクトルに掛けるときの計算量が
小さければ良い
– そうなるような が欲しい
Ze=k
e=Z−1
k
Z Z−1
zi
19
高速フーリエ変換
●
実は        とおくと良い
– それぞれ 1 の N 乗根
●
        とおくと
●
このときの行列ベクトル積を高速に計算する
アルゴリズムが高速フーリエ変換
●
   のとき、   とおくと
zj=exp(2πi
j
N
)
WN=exp(2πi
1
N
) zj=W N
j
N=4 Z=
(
W0
W0
W0
W0
W0
W1
W2
W3
W0
W2
W4
W6
W0
W3
W6
W9)W=W4
20
高速フーリエ変換
●
  をより簡単な演算に帰着することを考える
●
 の添字の順番を入れ替えると
Za
Za=
(
W0
W0
W0
W0
W0
W1
W2
W3
W0
W2
W4
W6
W0
W3
W6
W9)(
a0
a1
a2
a3
)
(
W0
W0
W0
W0
W0
W2
W1
W3
W0
W4
W2
W6
W0
W6
W3
W9)(
a0
a2
a1
a3
)
a
21
高速フーリエ変換
●
   を利用すると、WN
=1
(
W0
W0
W0
W0
W0
W0
W0
W2
W1
W0
W1
W2
W0
W0
W2
W0
W2
W0
W0
W2
W3
W0
W3
W2)(
a0
a2
a1
a3
)
=
(
1 0 W0
0
0 1 0 W1
1 0 W2
0
0 1 0 W3)(
W2
0
W2
0
0 0
W2
0
W2
1
0 0
0 0 W2
0
W2
0
0 0 W2
0
W2
1)(
a0
a2
a1
a3
)
22
高速フーリエ変換
●
   のとき    とすると、N=8
Za=
(
W0
W0
W0
W0
W0
W0
W0
W0
W0
W1
W2
W3
W4
W5
W6
W7
W0
W2
W4
W6
W8
W10
W12
W14
W0
W3
W6
W9
W12
W15
W18
W21
W0
W4
W8
W12
W16
W20
W24
W28
W0
W5
W10
W15
W20
W25
W30
W35
W0
W6
W12
W18
W24
W30
W36
W42
W0
W7
W14
W21
W28
W35
W42
W49
)(
a0
a1
a2
a3
a4
a5
a6
a7
)
W=W8
23
高速フーリエ変換
●
 の添字の順番を入れ替えると
(
W0
W0
W0
W0
W0
W0
W0
W0
W0
W4
W2
W6
W1
W5
W3
W7
W0
W8
W4
W12
W2
W10
W6
W14
W0
W12
W6
W18
W3
W15
W9
W21
W0
W16
W8
W24
W4
W20
W12
W28
W0
W20
W10
W30
W5
W25
W15
W35
W0
W24
W12
W36
W6
W30
W18
W42
W0
W28
W14
W42
W7
W35
W21
W49
)(
a0
a4
a2
a6
a1
a5
a3
a7
)
a
24
高速フーリエ変換
●
   を利用すると、
(
W0
W0
W0
W0
W0
W0
W0
W0
W0
W0
W0
W0
W0
W4
W2
W6
W1
W0
W1
W4
W1
W2
W1
W6
W0
W8
W4
W12
W2
W0
W2
W8
W2
W4
W2
W12
W0
W12
W6
W18
W3
W0
W3
W12
W3
W6
W3
W18
W0
W0
W0
W0
W4
W0
W4
W0
W4
W0
W4
W0
W0
W4
W2
W6
W5
W0
W5
W4
W5
W2
W5
W6
W0
W8
W4
W12
W6
W0
W6
W8
W6
W4
W6
W12
W0
W12
W6
W18
W7
W0
W7
W12
W7
W6
W7
W18
)(
a0
a4
a2
a6
a1
a5
a3
a7
)
W8
=1
25
高速フーリエ変換
●
 は2つの行列   で  と表せるZ Z0, Z1
Z0=
(
1 0 0 0 W0
0 0 0
0 1 0 0 0 W1
0 0
0 0 1 0 0 0 W2
0
0 0 0 1 0 0 0 W3
1 0 0 0 W4
0 0 0
0 1 0 0 0 W5
0 0
0 0 1 0 0 0 W6
0
0 0 0 1 0 0 0 W7
)
Z0 Z1
26
高速フーリエ変換
●
 は2つの行列   で  と表せるZ Z0, Z1
Z1=
(
W4
0
W4
0
W4
0
W4
0
0 0 0 0
W4
0
W4
2
W4
1
W4
3
0 0 0 0
W4
0
W4
4
W4
2
W4
6
0 0 0 0
W4
0
W4
6
W4
3
W4
9
0 0 0 0
0 0 0 0 W4
0
W4
0
W4
0
W4
0
0 0 0 0 W4
0
W4
2
W4
1
W4
3
0 0 0 0 W4
0
W4
4
W4
2
W4
6
0 0 0 0 W4
0
W4
6
W4
3
W4
9
)
Z0 Z1
27
高速フーリエ変換
●
 は   のときの変換を2回やっているだけ
–    のときのようにさらに分解できる
●
同様にして   のときの計算は   のときの計算
2 回(と重み付きの足し算  )に帰着できる
●
最初に 個の 桁精度の 1 の 乗根を求めておく
●
 桁の乗算の計算量を   とすると
Z1 N=4
N=4
N=2 p N= p
Z0
N ND
h(D)D
f (N , D)=2 f (
N
2,
D)+O(Nh( D))
f (N , D)∈O( Nh(D)log N)
28
高速逆フーリエ変換
●
   のときの  は
と書ける
●
同様にして高速に計算可能
N=4 Z−1
Z−1
=
1
4
(
W0
W0
W0
W0
W0
W−1
W−2
W−3
W0
W−2
W−4
W−6
W0
W−3
W−6
W−9)
29
高速フーリエ変換による多倍長乗算
●
整数  を   次の多項式に変換する
●
それぞれ 次の高速フーリエ変換する
●
同じ添字の要素同士をかけ合わせる
●
 次の高速逆フーリエ変換する
●
繰り上がりの処理をして整数に直す
N
2
−1a ,b
N
N
30
高速フーリエ変換による多倍長乗算
●
 分割したときの計算量は、フーリエ変換時に
      桁の精度が必要なので、
●
     として計算すると
などが示せる(がんばればもう少し抑えられる)
hK ( N)=O(Kh(log K +
N
K
)log K + N
log(2 K −1)
log K
)
K
O(log K +
N
K
)
K=
N
log N
h( N)∈O( N log N log2
log N)
31
まとめ
●
多項式を用いて多倍長乗算を高速化した
●
その際に高速フーリエ変換を用いた
32
おわり

More Related Content

What's hot

最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解くshindannin
 
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~Takuya Akiba
 
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解MITSUNARI Shigeo
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装MITSUNARI Shigeo
 
DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜Jun Okumura
 
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介MITSUNARI Shigeo
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門Norishige Fukushima
 
色々なダイクストラ高速化
色々なダイクストラ高速化色々なダイクストラ高速化
色々なダイクストラ高速化yosupo
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムTakuya Akiba
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門Yoichi Iwata
 
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画までShunji Umetani
 
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-Takuya Akiba
 
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜SSII
 
遺伝的アルゴリズム (Genetic Algorithm)を始めよう!
遺伝的アルゴリズム(Genetic Algorithm)を始めよう!遺伝的アルゴリズム(Genetic Algorithm)を始めよう!
遺伝的アルゴリズム (Genetic Algorithm)を始めよう!Kazuhide Okamura
 

What's hot (20)

最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く
 
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
 
双対性
双対性双対性
双対性
 
CuPy解説
CuPy解説CuPy解説
CuPy解説
 
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
 
ドロネー三角形分割
ドロネー三角形分割ドロネー三角形分割
ドロネー三角形分割
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
 
DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜
 
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
 
色々なダイクストラ高速化
色々なダイクストラ高速化色々なダイクストラ高速化
色々なダイクストラ高速化
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門
 
Chokudai search
Chokudai searchChokudai search
Chokudai search
 
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで
 
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
 
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
 
線形計画法入門
線形計画法入門線形計画法入門
線形計画法入門
 
フラグを愛でる
フラグを愛でるフラグを愛でる
フラグを愛でる
 
遺伝的アルゴリズム (Genetic Algorithm)を始めよう!
遺伝的アルゴリズム(Genetic Algorithm)を始めよう!遺伝的アルゴリズム(Genetic Algorithm)を始めよう!
遺伝的アルゴリズム (Genetic Algorithm)を始めよう!
 

Similar to 多倍長整数の乗算と高速フーリエ変換

GPUによる多倍長整数乗算の高速化手法の提案
GPUによる多倍長整数乗算の高速化手法の提案GPUによる多倍長整数乗算の高速化手法の提案
GPUによる多倍長整数乗算の高速化手法の提案Koji Kitano
 
University CodeSprint 4 - Magic value
University CodeSprint 4 - Magic valueUniversity CodeSprint 4 - Magic value
University CodeSprint 4 - Magic valuesatanic
 
Icml yomikai 07_16
Icml yomikai 07_16Icml yomikai 07_16
Icml yomikai 07_16Yo Ehara
 
Sec15 dynamic programming
Sec15 dynamic programmingSec15 dynamic programming
Sec15 dynamic programmingKeisuke OTAKI
 
CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説AtCoder Inc.
 
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Seiya Tokui
 
第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 
PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5sleepy_yoshi
 
K shapes zemiyomi
K shapes zemiyomiK shapes zemiyomi
K shapes zemiyomikenyanonaka
 
姫路 IT 系勉強会 Vol.6 プログラミングコンテストという名のオンラインゲームがあるらしい
姫路 IT 系勉強会 Vol.6 プログラミングコンテストという名のオンラインゲームがあるらしい姫路 IT 系勉強会 Vol.6 プログラミングコンテストという名のオンラインゲームがあるらしい
姫路 IT 系勉強会 Vol.6 プログラミングコンテストという名のオンラインゲームがあるらしいKazkuki Oakamoto
 
130323 slide all
130323 slide all130323 slide all
130323 slide allikea0064
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろHiroshi Yamashita
 
複雑ネットワーク 第4章 古典的なグラフ
複雑ネットワーク 第4章 古典的なグラフ複雑ネットワーク 第4章 古典的なグラフ
複雑ネットワーク 第4章 古典的なグラフShintaro Takemura
 
文献紹介:TSM: Temporal Shift Module for Efficient Video Understanding
文献紹介:TSM: Temporal Shift Module for Efficient Video Understanding文献紹介:TSM: Temporal Shift Module for Efficient Video Understanding
文献紹介:TSM: Temporal Shift Module for Efficient Video UnderstandingToru Tamaki
 

Similar to 多倍長整数の乗算と高速フーリエ変換 (20)

GPUによる多倍長整数乗算の高速化手法の提案
GPUによる多倍長整数乗算の高速化手法の提案GPUによる多倍長整数乗算の高速化手法の提案
GPUによる多倍長整数乗算の高速化手法の提案
 
University CodeSprint 4 - Magic value
University CodeSprint 4 - Magic valueUniversity CodeSprint 4 - Magic value
University CodeSprint 4 - Magic value
 
Icml yomikai 07_16
Icml yomikai 07_16Icml yomikai 07_16
Icml yomikai 07_16
 
Sec15 dynamic programming
Sec15 dynamic programmingSec15 dynamic programming
Sec15 dynamic programming
 
動的計画法を極める!
動的計画法を極める!動的計画法を極める!
動的計画法を極める!
 
CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説
 
6 Info Theory
6 Info Theory6 Info Theory
6 Info Theory
 
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践
 
optimal Ate pairing
optimal Ate pairingoptimal Ate pairing
optimal Ate pairing
 
第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)
 
More modern gpu
More modern gpuMore modern gpu
More modern gpu
 
PRML_from5.1to5.3.1
PRML_from5.1to5.3.1PRML_from5.1to5.3.1
PRML_from5.1to5.3.1
 
PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5
 
K shapes zemiyomi
K shapes zemiyomiK shapes zemiyomi
K shapes zemiyomi
 
姫路 IT 系勉強会 Vol.6 プログラミングコンテストという名のオンラインゲームがあるらしい
姫路 IT 系勉強会 Vol.6 プログラミングコンテストという名のオンラインゲームがあるらしい姫路 IT 系勉強会 Vol.6 プログラミングコンテストという名のオンラインゲームがあるらしい
姫路 IT 系勉強会 Vol.6 プログラミングコンテストという名のオンラインゲームがあるらしい
 
130323 slide all
130323 slide all130323 slide all
130323 slide all
 
T77 episteme
T77 epistemeT77 episteme
T77 episteme
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
 
複雑ネットワーク 第4章 古典的なグラフ
複雑ネットワーク 第4章 古典的なグラフ複雑ネットワーク 第4章 古典的なグラフ
複雑ネットワーク 第4章 古典的なグラフ
 
文献紹介:TSM: Temporal Shift Module for Efficient Video Understanding
文献紹介:TSM: Temporal Shift Module for Efficient Video Understanding文献紹介:TSM: Temporal Shift Module for Efficient Video Understanding
文献紹介:TSM: Temporal Shift Module for Efficient Video Understanding
 

More from 京大 マイコンクラブ

かわいくなろうとしたら語彙力が下がった話
かわいくなろうとしたら語彙力が下がった話かわいくなろうとしたら語彙力が下がった話
かわいくなろうとしたら語彙力が下がった話京大 マイコンクラブ
 
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタつくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ京大 マイコンクラブ
 
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?京大 マイコンクラブ
 
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜京大 マイコンクラブ
 
ドット絵でプログラミング!難解言語『Piet』勉強会
ドット絵でプログラミング!難解言語『Piet』勉強会ドット絵でプログラミング!難解言語『Piet』勉強会
ドット絵でプログラミング!難解言語『Piet』勉強会京大 マイコンクラブ
 
DTM練習会2017第1.5回 「伴奏の付け方」
DTM練習会2017第1.5回 「伴奏の付け方」DTM練習会2017第1.5回 「伴奏の付け方」
DTM練習会2017第1.5回 「伴奏の付け方」京大 マイコンクラブ
 
暗号技術入門 秘密の国のアリス 総集編
暗号技術入門 秘密の国のアリス 総集編暗号技術入門 秘密の国のアリス 総集編
暗号技術入門 秘密の国のアリス 総集編京大 マイコンクラブ
 

More from 京大 マイコンクラブ (20)

テキストファイルを読む💪 第1回
テキストファイルを読む💪  第1回テキストファイルを読む💪  第1回
テキストファイルを読む💪 第1回
 
かわいくなろうとしたら語彙力が下がった話
かわいくなろうとしたら語彙力が下がった話かわいくなろうとしたら語彙力が下がった話
かわいくなろうとしたら語彙力が下がった話
 
Common Lisp入門
Common Lisp入門Common Lisp入門
Common Lisp入門
 
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタつくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ
 
Geometry with Unity
Geometry with UnityGeometry with Unity
Geometry with Unity
 
セミコロンレスc++
セミコロンレスc++セミコロンレスc++
セミコロンレスc++
 
エンジニアと健康
エンジニアと健康エンジニアと健康
エンジニアと健康
 
女の子になれなかった人のために
女の子になれなかった人のために女の子になれなかった人のために
女の子になれなかった人のために
 
Pietで競プロしよう
Pietで競プロしようPietで競プロしよう
Pietで競プロしよう
 
もし太陽のコアがIntelCoreだったら
もし太陽のコアがIntelCoreだったらもし太陽のコアがIntelCoreだったら
もし太陽のコアがIntelCoreだったら
 
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
 
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
 
ドット絵でプログラミング!難解言語『Piet』勉強会
ドット絵でプログラミング!難解言語『Piet』勉強会ドット絵でプログラミング!難解言語『Piet』勉強会
ドット絵でプログラミング!難解言語『Piet』勉強会
 
No SSH (@nojima; KMC関東例会)
No SSH (@nojima; KMC関東例会)No SSH (@nojima; KMC関東例会)
No SSH (@nojima; KMC関東例会)
 
DTM練習会2017第1.5回 「伴奏の付け方」
DTM練習会2017第1.5回 「伴奏の付け方」DTM練習会2017第1.5回 「伴奏の付け方」
DTM練習会2017第1.5回 「伴奏の付け方」
 
hideya流 テストプレイ観察術
hideya流 テストプレイ観察術hideya流 テストプレイ観察術
hideya流 テストプレイ観察術
 
暗号技術入門 秘密の国のアリス 総集編
暗号技術入門 秘密の国のアリス 総集編暗号技術入門 秘密の国のアリス 総集編
暗号技術入門 秘密の国のアリス 総集編
 
Altseed
AltseedAltseed
Altseed
 
C#でゲームを作る2016 第8回
C#でゲームを作る2016 第8回C#でゲームを作る2016 第8回
C#でゲームを作る2016 第8回
 
C#でゲームを作る2016 第7回
C#でゲームを作る2016 第7回C#でゲームを作る2016 第7回
C#でゲームを作る2016 第7回
 

多倍長整数の乗算と高速フーリエ変換