高速フーリエ変換

A
AtCoder Inc.CEO at AtCoder
AtCoder Typical Contest 001
C 高速フーリエ変換
AtCoder 株式会社
問題概要
AtCoder 食堂では,
円の主菜が 種類
円の副菜が 種類
i Ai
j Bj
ある.
ちょうど 円になる, 主菜と副菜一つずつの組合せがい
くつあるかを出力せよ.
k
畳込み
ちょうど 円になる組合せの数を とすると, 主菜で
円の物を選んだ時, 副菜として 円の物を選べばよ
く,
となる. 但し, とおく.
k Ck i
k − i
=Ck
∑
i=0
k
Ai Bk−i
= = 0A0 B0
このような を, と の畳込み (convolution) という.C A B
畳込みから多項式乗算へ
ここで, , を係数とする多項式
を考えると, その積は
で定まる.
A B
g(x) = ,
∑
i=0
N
Ai x
i
h(x) =
∑
j=0
N
Bj x
j
(g ∗ h)(x) = g(x) ∗ h(x)
=
∑
i=0
N
∑
j=0
N
Ai Bj x
i+j
畳込みから多項式乗算へ
ここで, とおいて
を書きなおすと,
i + j = k
(g ∗ h)(x) =
∑
i=0
N
∑
j=0
N
Ai Bj x
i+j
(g ∗ h)(x) =
( )
∑
k=0
2N
∑
i=0
k
Ai Bk−i x
k
=
∑
k=0
2N
Ck x
k
となるから, この が計算出来ればよい.(g ∗ h)(x)
多項式乗算
を高速に求めたい.(g ∗ h)(x)
普通に書くと, こんな感じで .O (deg(g) ∗ deg(h))
def multiply(g, h):
  f = [ 0 for _ in range(len(g) + len(h) ­ 1) ]
  for i in range(len(g)):
    for j in range(len(h)):
      f[i+j] += g[i] * h[j]
  return f
多項式の性質
は, 次の多項式.g(x) ∗ h(x) deg(g) + deg(h)
よって, 個の点 での値 が
求まっていれば, これを通る は一意.
deg(g) + deg(h) + 1 xi f ( )xi
h
例えば,
二点を決めると, それを同時に通る直線は一つ.
三点を決めると, それを同時に通る放物線は一つ.
高速多項式乗算の戦略
1. とし, 個の点 を,
計算しやすいようにうまく選ぶ.
2. と, を計算する.
3. を使って,
を計算する.
4. うまいこと何かして,
から を復元する.
n > deg(g) + deg(h) n , …,x0 xn−1
g( ), …, g( )x0 xn−1 h( ), …, h( )x0 xn−1
(g ∗ h)(x) = g(x) ∗ h(x)
(g ∗ h)( ), …, (g ∗ h)( )x0 xn−1
(g ∗ h)( ), …, (g ∗ h)( )x0 xn−1
(g ∗ h)(x)
2 のように, 点での値を求めることを "評価" (evaluation),
4 のように, 点での値から元の多項式を復元することを
"補間" (interpolation) と呼ぶ.
点の選び方
実際には, が の冪乗になるようにし, と
しては の 乗根全体を選ぶ.
n 2 , …,x0 xn−1
1 n
つまり, として, とする.= exp(2π /n)ζn −1‾‾‾√ =xi ζi
n
の性質ζn
には, 次の性質がある.= exp(2π /n)ζn −1‾‾‾√
.
"直交性" が成り立つ. すなわち,
(最後の は, 等比級数の和の公式から.)
= ⇔ i = j mod nζi
n ζj
n
=
∑
i=0
n−1
( )ζj
n
i
( )
ζk
n
⎯ ⎯⎯⎯⎯⎯ i
∑
i=0
n−1
ζi(j−k)
n
=
{
n, if j = k mod n,
0, otherwise.
= 0
を で置き換えても, これらの性質は変わらない.ζn ζ−1
n
離散フーリエ変換
前述の通り, として, 評価と補間をする. こうする
と, 何がよいのかを見ていこう.
=xi ζi
n
多項式 に対し, を
で定める. つまり, 評価した各点での値を係数に持つ多項
式である.
f (x) (t)fˆ
(t) = f ( )fˆ
∑
i=0
n−1
ζi
n t
i
これを, の離散フーリエ変換 (Discrete Fourier
Transformation, DFT) と呼ぶ.
f
離散フーリエ変換
とすると,f (x) = ∑n−1
j=0
cj x
j
(t)fˆ = f ( )
∑
i=0
n−1
ζi
n t
i
=
(
(
)
∑
i=0
n−1
∑
j=0
n−1
cj ζi
n )
j
t
i
= ( t
∑
j=0
n−1
cj
∑
i=0
n−1
ζj
n )
i
離散フーリエ逆変換
を求めてみると,
だが,
だったから,
( )fˆ ζ−k
n
( )fˆ ζ−k
n = (
∑
j=0
n−1
cj
∑
i=0
n−1
ζj
n ζ−k
n )
i
=
{∑
i=0
n−1
ζi(j−k)
n
n, if j = k mod n,
0, otherwise
( )fˆ ζ−k
n = n .ck
離散フーリエ逆変換
よって, の DFT
から,
と, を で置き換えた DFT で を復元出来る. こ
れを, 離散フーリエ逆変換と呼ぶ.
f
(t) = f ( )fˆ
∑
i=0
n−1
ζi
n t
i
f (x) = ( )
1
n ∑
i=0
n−1
fˆ ζ−i
n x
i
ζn ζ−1
n f (x)
積の離散フーリエ変換 (DFT)
さて, "多項式を評価した値" を係数としたのだから当然
ではあるが, は,
と, と の係数毎の積で求められる.
(t)g ∗ hˆ
(t)g ∗ hˆ = (g ∗ h)( )
∑
i=0
n−1
ζi
n t
i
= g( )h( )
∑
i=0
n−1
ζi
n ζi
n t
i
gˆ hˆ
離散フーリエ変換を使った乗算
結局, 多項式の積を求めるには,
1. となる の冪乗を選ぶ.
2. 上の に DFT をして を計算する.
3. と を係数毎に掛け, を求める.
4. に inverse DFT をして を復元する.
n > deg(g) + deg(h) 2
g, h (t), (t)gˆ hˆ
(t)gˆ (t)hˆ (t)g ∗ hˆ
(t)g ∗ hˆ (g ∗ h)(x)
とすればよい.
離散フーリエ変換を使った乗算
擬似コードで書くと,
def multiply(g, h):
  n = pow_2_at_least(deg(g) + deg(h) + 1)
  # g, h は n­1 次になるように 0 を詰めておく.
  gg = dft(g, n)
  hh = dft(h, n)
  ff = [ gg[i] * hh[i] for i in range(n) ]
  return inverse_dft(ff, n)
高速フーリエ変換
あとは, DFT, inverse DFT を高速に求められればよい.
高速に DFT を求めるアルゴリズムを "高速フーリエ変換"
(Fast Fourier Transformation, FFT) と呼ぶ.
inverse DFT は, DFT で出てくる を全て で置き換
え, 最後に で割ればよいだけなので, 以下では DFT につ
いてのみ解説する.
ζn ζ−1
n
n
高速フーリエ変換
の冪乗 と 次以下の多項式
に対し,
とすると,
で, , はそれぞれ 次以下の多項式.
2 n n − 1 f (x) = ∑n−1
i=0
ci x
i
(x)f0
(x)f1
= = + + + …,
∑
i=0
n/2−1
c2i x
i
c0 x
0
c2 x
1
c4 x
2
= = + + + …∑
i=0
n/2−1
c2i+1 x
i
c1 x
0
c3 x
1
c5 x
2
f (x) = ( ) + x ( )f0 x
2
f1 x
2
f0 f1 n/2 − 1
高速フーリエ変換
を求めるには,fˆ
f ( ), f ( ), …, f ( )ζ0
n ζ1
n ζn−1
n
を求められればよかったが, だ
から,
f (x) = ( ) + x ( )f0 x
2
f1 x
2
( ), ( ), …, ( ),f0 ζ0
n f0 ζ2
n f0 ζ2(n−1)
n
( ), ( ), …, ( )f1 ζ0
n f1 ζ2
n f1 ζ2(n−1)
n
を求めればよい.
高速フーリエ変換
だから,
= exp (2 ∗ 2π /n) = exp (2π /(n/2)) =ζ2
n −1‾‾‾√ −1‾‾‾√ ζn/2
( ), ( ), …, ( ),f0 ζ0
n f0 ζ2
n f0 ζ2(n−1)
n
( ), ( ), …, ( )f1 ζ0
n f1 ζ2
n f1 ζ2(n−1)
n
は,
( ), ( ), …, ( ),f0 ζ0
n/2
f0 ζ1
n/2
f0 ζn−1
n/2
( ), ( ), …, ( )f1 ζ0
n/2
f1 ζ1
n/2
f1 ζn−1
n/2
と同じ.
高速フーリエ変換
は 乗すると だから, . よって,ζn/2 n/2 1 =ζi+n/2
n/2
ζi
n/2
( ), ( ), …, ( ),f0 ζ0
n/2
f0 ζ1
n/2
f0 ζn−1
n/2
( ), ( ), …, ( )f1 ζ0
n/2
f1 ζ1
n/2
f1 ζn−1
n/2
は, それぞれ前半と後半が同じで, 前半だけの
( ), ( ), …, ( ),f0 ζ0
n/2
f0 ζ1
n/2
f0 ζn/2−1
n/2
( ), ( ), …, ( )f1 ζ0
n/2
f1 ζ1
n/2
f1 ζn/2−1
n/2
を求めればよい.
高速フーリエ変換
よって, 次以下の多項式 に対してn − 1 f
f ( ), f ( ), …, f ( )ζ0
n ζ1
n ζn−1
n
を求めるには, 二つの 次以下の多項式 に対
して
n/2 − 1 ,f0 f1
( ), ( ), …, ( ),f0 ζ0
n/2
f0 ζ1
n/2
f0 ζn/2−1
n/2
( ), ( ), …, ( )f1 ζ0
n/2
f1 ζ1
n/2
f1 ζn/2−1
n/2
を求めればよいことになった.
これは, サイズが半分になった同じ問題を二つ解けばよ
いということ!!
高速フーリエ変換
再帰的に行うと, 必要になる計算回数 は,T (n)
T (n) =
{
O(1),
2T (n/2) + O(n),
if n = 1,
otherwise
で, これを解くと になる.T (n) = O(n log n)
高速フーリエ変換
以上のアルゴリズムを擬似コードで書くと,
def dft(f, n):
  if n == 1:
    return f
  f0 = [ f[2*i + 0] for i in range(n / 2) ]
  f1 = [ f[2*i + 1] for i in range(n / 2) ]
  f0 = dft(f0, n/2)
  f1 = dft(f1, n/2)
  zeta = complex(cos(2 * pi / n), sin(2 * pi / n))
  pow_zeta = 1
  for i in range(n)
    # この時点で, pow_zeta = pow(zeta, i)
    f[i] = f0[i % (n/2)] + pow_zeta * f1[i % (n/2)]
    pow_zeta *= zeta
  return f
発展的な話題
複素数以外の "環" での FFT
上の FFT は, 複素数だけでなく, の原始 乗根(ちょうど
乗すると になるような要素)が存在する "可換環" で
出来る.
1 n
n 1
これから, 例えば で割ると 余る素数を法とする FFT
が出来る事がわかる.
n 1
発展的な FFT アルゴリズム
今まで紹介した再帰的な FFT が基本だが, 他にも様々な
FFT アルゴリズムがある.
Cooley-Tukey FFT, Gentleman-Sande FFT
再帰的 FFT を非再帰, in-place(入力の領域を使い回
し, 余分な領域をあまり使わない)にしたもの. 競技プ
ログラミングではよく用いられている.
Stockham FFT
上の二つと異なり, "ビット反転" が不要で, メモリア
クセスがシーケンシャル.
その代わり, in-place でない.
発展的な FFT アルゴリズム
分割基底 FFT
と のように二つに分割するのではなく, より多
くの個数に分割する.
つに分割する, -基底 FFT がよく用いられる.
four-step FFT, six-step FFT
約 個に分割し, 組み合わせる時にも FFT を用い
る.
並列化する時によいらしい.
nine-step FFT
約 ずつ, 三次元的に分割する.
f0 f1
4 4
n‾√
n
1/3
参考文献
1. R. Crandall, C. Pomerance, 和田秀男 監訳,
"素数全書: 計算からのアプローチ",
朝倉書店, 2010, ISBN 978-4-254-11128-6.
2. R. Sedgewick,
野下 浩平, 星 守, 佐藤 創, 田口 東 共訳,
"アルゴリズムC <第3巻> グラフ・数理・トピックス",
近代科学社, 1996, ISBN 978-4-764-90257-2
1 of 30

Recommended

プログラミングコンテストでの動的計画法 by
プログラミングコンテストでの動的計画法プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法Takuya Akiba
91.6K views59 slides
明日使えないすごいビット演算 by
明日使えないすごいビット演算明日使えないすごいビット演算
明日使えないすごいビット演算京大 マイコンクラブ
63.4K views60 slides
最小カットを使って「燃やす埋める問題」を解く by
最小カットを使って「燃やす埋める問題」を解く最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解くshindannin
31.9K views128 slides
Union find(素集合データ構造) by
Union find(素集合データ構造)Union find(素集合データ構造)
Union find(素集合データ構造)AtCoder Inc.
168.8K views18 slides

More Related Content

What's hot

様々な全域木問題 by
様々な全域木問題様々な全域木問題
様々な全域木問題tmaehara
37.7K views71 slides
プログラミングコンテストでの乱択アルゴリズム by
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムTakuya Akiba
26.8K views37 slides
色々なダイクストラ高速化 by
色々なダイクストラ高速化色々なダイクストラ高速化
色々なダイクストラ高速化yosupo
24.9K views35 slides
最適輸送の解き方 by
最適輸送の解き方最適輸送の解き方
最適輸送の解き方joisino
21.6K views270 slides
プログラミングコンテストでのデータ構造 by
プログラミングコンテストでのデータ構造プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造Takuya Akiba
104.8K views73 slides
プログラムを高速化する話 by
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話京大 マイコンクラブ
242.3K views120 slides

What's hot(20)

様々な全域木問題 by tmaehara
様々な全域木問題様々な全域木問題
様々な全域木問題
tmaehara37.7K views
プログラミングコンテストでの乱択アルゴリズム by Takuya Akiba
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba26.8K views
色々なダイクストラ高速化 by yosupo
色々なダイクストラ高速化色々なダイクストラ高速化
色々なダイクストラ高速化
yosupo24.9K views
最適輸送の解き方 by joisino
最適輸送の解き方最適輸送の解き方
最適輸送の解き方
joisino21.6K views
プログラミングコンテストでのデータ構造 by Takuya Akiba
プログラミングコンテストでのデータ構造プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造
Takuya Akiba104.8K views
Neural networks for Graph Data NeurIPS2018読み会@PFN by emakryo
Neural networks for Graph Data NeurIPS2018読み会@PFNNeural networks for Graph Data NeurIPS2018読み会@PFN
Neural networks for Graph Data NeurIPS2018読み会@PFN
emakryo11.8K views
プログラミングコンテストでのデータ構造 2 ~動的木編~ by Takuya Akiba
プログラミングコンテストでのデータ構造 2 ~動的木編~プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
Takuya Akiba46K views
ユークリッド最小全域木 by 理玖 川崎
ユークリッド最小全域木ユークリッド最小全域木
ユークリッド最小全域木
理玖 川崎4.7K views
機械学習による統計的実験計画(ベイズ最適化を中心に) by Kota Matsui
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
Kota Matsui13.1K views
数式を綺麗にプログラミングするコツ #spro2013 by Shuyo Nakatani
数式を綺麗にプログラミングするコツ #spro2013数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013
Shuyo Nakatani50.5K views
組み込み関数(intrinsic)によるSIMD入門 by Norishige Fukushima
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima47.5K views
指数時間アルゴリズム入門 by Yoichi Iwata
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門
Yoichi Iwata44.7K views
Gurobi python by Mikio Kubo
Gurobi pythonGurobi python
Gurobi python
Mikio Kubo14K views
スペクトラル・クラスタリング by Akira Miyazawa
スペクトラル・クラスタリングスペクトラル・クラスタリング
スペクトラル・クラスタリング
Akira Miyazawa19.7K views
高速な倍精度指数関数expの実装 by MITSUNARI Shigeo
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
MITSUNARI Shigeo15K views
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜 by Preferred Networks
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks14.6K views

Similar to 高速フーリエ変換

PRML 10.4 - 10.6 by
PRML 10.4 - 10.6PRML 10.4 - 10.6
PRML 10.4 - 10.6Akira Miyazawa
1.5K views74 slides
topology of musical data by
topology of musical datatopology of musical data
topology of musical dataTatsuki SHIMIZU
2.7K views55 slides
Grcosmo 44 slide by
Grcosmo 44 slideGrcosmo 44 slide
Grcosmo 44 slideKENTAROHARA
33 views47 slides
サンプリング定理 by
サンプリング定理サンプリング定理
サンプリング定理Toshihisa Tanaka
994 views37 slides
Stochastic complexities of reduced rank regression証明概略 by
 Stochastic complexities of reduced rank regression証明概略 Stochastic complexities of reduced rank regression証明概略
Stochastic complexities of reduced rank regression証明概略Xiangze
183 views24 slides
回帰 by
回帰回帰
回帰Shin Asakawa
603 views21 slides

Similar to 高速フーリエ変換(20)

Stochastic complexities of reduced rank regression証明概略 by Xiangze
 Stochastic complexities of reduced rank regression証明概略 Stochastic complexities of reduced rank regression証明概略
Stochastic complexities of reduced rank regression証明概略
Xiangze 183 views
アルゴリズムイントロダクション15章 動的計画法 by nitoyon
アルゴリズムイントロダクション15章 動的計画法アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法
nitoyon24K views
【展開用】日曜数学会 Sinc関数の積分について by 和人 桐ケ谷
【展開用】日曜数学会 Sinc関数の積分について【展開用】日曜数学会 Sinc関数の積分について
【展開用】日曜数学会 Sinc関数の積分について
和人 桐ケ谷8.4K views
20170327_レムニスケートにまつわる色々な計算 by matsumoring
20170327_レムニスケートにまつわる色々な計算20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算
matsumoring2.2K views
20150922_楕円関数とおもしろい応用 by matsumoring
20150922_楕円関数とおもしろい応用20150922_楕円関数とおもしろい応用
20150922_楕円関数とおもしろい応用
matsumoring15.7K views
FIEK provime pranuese teste. by Arton Feta
FIEK provime pranuese teste.FIEK provime pranuese teste.
FIEK provime pranuese teste.
Arton Feta62.1K views
Fiekppteste 130709205838-phpapp02 by Arbenng
Fiekppteste 130709205838-phpapp02Fiekppteste 130709205838-phpapp02
Fiekppteste 130709205838-phpapp02
Arbenng303 views
量子アニーリングを用いたクラスタ分析 by Shu Tanaka
量子アニーリングを用いたクラスタ分析量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析
Shu Tanaka11.1K views
Seminar on Quantum Computation & Quantum Information part19 by Yuichi Adachi
Seminar on Quantum Computation & Quantum Information part19Seminar on Quantum Computation & Quantum Information part19
Seminar on Quantum Computation & Quantum Information part19
Yuichi Adachi1.4K views
2022年度秋学期 画像情報処理 第5回 離散フーリエ変換,フーリエ変換の実例 (2022. 10. 21) by Akira Asano
2022年度秋学期 画像情報処理 第5回 離散フーリエ変換,フーリエ変換の実例 (2022. 10. 21) 2022年度秋学期 画像情報処理 第5回 離散フーリエ変換,フーリエ変換の実例 (2022. 10. 21)
2022年度秋学期 画像情報処理 第5回 離散フーリエ変換,フーリエ変換の実例 (2022. 10. 21)
Akira Asano31 views
Nonlinear programming輪講スライド with 最適化法 by Yo Ehara
Nonlinear programming輪講スライド with 最適化法Nonlinear programming輪講スライド with 最適化法
Nonlinear programming輪講スライド with 最適化法
Yo Ehara3.6K views
グラフカットによる画像背景切り取り by coil_kpc
グラフカットによる画像背景切り取りグラフカットによる画像背景切り取り
グラフカットによる画像背景切り取り
coil_kpc145 views

More from AtCoder Inc.

TCO2017R1 by
TCO2017R1TCO2017R1
TCO2017R1AtCoder Inc.
12.8K views19 slides
AtCoderに毎回参加したくなる仕組み by
AtCoderに毎回参加したくなる仕組みAtCoderに毎回参加したくなる仕組み
AtCoderに毎回参加したくなる仕組みAtCoder Inc.
12.6K views33 slides
Square869120 contest #2 by
Square869120 contest #2Square869120 contest #2
Square869120 contest #2AtCoder Inc.
4K views165 slides
AtCoder Beginner Contest 035 解説 by
AtCoder Beginner Contest 035 解説AtCoder Beginner Contest 035 解説
AtCoder Beginner Contest 035 解説AtCoder Inc.
16.8K views37 slides
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説 by
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説AtCoder Inc.
3.4K views31 slides
Chokudai Contest 001 by
Chokudai Contest 001Chokudai Contest 001
Chokudai Contest 001AtCoder Inc.
3.8K views24 slides

More from AtCoder Inc.(20)

AtCoderに毎回参加したくなる仕組み by AtCoder Inc.
AtCoderに毎回参加したくなる仕組みAtCoderに毎回参加したくなる仕組み
AtCoderに毎回参加したくなる仕組み
AtCoder Inc.12.6K views
Square869120 contest #2 by AtCoder Inc.
Square869120 contest #2Square869120 contest #2
Square869120 contest #2
AtCoder Inc.4K views
AtCoder Beginner Contest 035 解説 by AtCoder Inc.
AtCoder Beginner Contest 035 解説AtCoder Beginner Contest 035 解説
AtCoder Beginner Contest 035 解説
AtCoder Inc.16.8K views
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説 by AtCoder Inc.
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
AtCoder Inc.3.4K views
Chokudai Contest 001 by AtCoder Inc.
Chokudai Contest 001Chokudai Contest 001
Chokudai Contest 001
AtCoder Inc.3.8K views
AtCoder Regular Contest 049 解説 by AtCoder Inc.
AtCoder Regular Contest 049 解説AtCoder Regular Contest 049 解説
AtCoder Regular Contest 049 解説
AtCoder Inc.9.7K views
AtCoder Beginner Contest 034 解説 by AtCoder Inc.
AtCoder Beginner Contest 034 解説AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説
AtCoder Inc.17.7K views
AtCoder Regular Contest 048 by AtCoder Inc.
AtCoder Regular Contest 048AtCoder Regular Contest 048
AtCoder Regular Contest 048
AtCoder Inc.5.4K views
MUJINプログラミングチャレンジ2016 解説 by AtCoder Inc.
MUJINプログラミングチャレンジ2016 解説MUJINプログラミングチャレンジ2016 解説
MUJINプログラミングチャレンジ2016 解説
AtCoder Inc.5.5K views
AtCoder Beginner Contest 033 解説 by AtCoder Inc.
AtCoder Beginner Contest 033 解説AtCoder Beginner Contest 033 解説
AtCoder Beginner Contest 033 解説
AtCoder Inc.11.2K views
DDPC 2016 予選 解説 by AtCoder Inc.
DDPC 2016 予選 解説DDPC 2016 予選 解説
DDPC 2016 予選 解説
AtCoder Inc.4.2K views
CODE FESTIVAL 2015 沖縄ツアー 解説 by AtCoder Inc.
CODE FESTIVAL 2015 沖縄ツアー 解説CODE FESTIVAL 2015 沖縄ツアー 解説
CODE FESTIVAL 2015 沖縄ツアー 解説
AtCoder Inc.2.4K views
AtCoder Regular Contest 046 by AtCoder Inc.
AtCoder Regular Contest 046AtCoder Regular Contest 046
AtCoder Regular Contest 046
AtCoder Inc.7.3K views
CODE FESTIVAL 2015 解説 by AtCoder Inc.
CODE FESTIVAL 2015 解説CODE FESTIVAL 2015 解説
CODE FESTIVAL 2015 解説
AtCoder Inc.4.9K views
CODE FESTIVAL 2015 予選B 解説 by AtCoder Inc.
CODE FESTIVAL 2015 予選B 解説CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説
AtCoder Inc.5.8K views
AtCoder Beginner Contest 030 解説 by AtCoder Inc.
AtCoder Beginner Contest 030 解説AtCoder Beginner Contest 030 解説
AtCoder Beginner Contest 030 解説
AtCoder Inc.11.2K views

Recently uploaded

GP10.pdf by
GP10.pdfGP10.pdf
GP10.pdfMasato FUKUHARA
152 views20 slides
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『工学院の変更点、出題のねらいと出題例』 by
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『工学院の変更点、出題のねらいと出題例』東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『工学院の変更点、出題のねらいと出題例』
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『工学院の変更点、出題のねらいと出題例』Tokyo Institute of Technology
550 views3 slides
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『理学院の変更点、出題のねらいと出題例』 by
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『理学院の変更点、出題のねらいと出題例』東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『理学院の変更点、出題のねらいと出題例』
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『理学院の変更点、出題のねらいと出題例』Tokyo Institute of Technology
517 views4 slides
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『生命理工学院の変更点、出題のねらいと出題例』 by
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『生命理工学院の変更点、出題のねらいと出題例』東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『生命理工学院の変更点、出題のねらいと出題例』
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『生命理工学院の変更点、出題のねらいと出題例』Tokyo Institute of Technology
516 views3 slides
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『環境・社会理工学院の変更点、出題のねらいと出題例』 by
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『環境・社会理工学院の変更点、出題のねらいと出題例』東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『環境・社会理工学院の変更点、出題のねらいと出題例』
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『環境・社会理工学院の変更点、出題のねらいと出題例』Tokyo Institute of Technology
508 views7 slides
救急医学会2023(発表).pdf by
救急医学会2023(発表).pdf救急医学会2023(発表).pdf
救急医学会2023(発表).pdfHirohisa Shimizu
59 views39 slides

Recently uploaded(10)

東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『工学院の変更点、出題のねらいと出題例』 by Tokyo Institute of Technology
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『工学院の変更点、出題のねらいと出題例』東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『工学院の変更点、出題のねらいと出題例』
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『工学院の変更点、出題のねらいと出題例』
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『理学院の変更点、出題のねらいと出題例』 by Tokyo Institute of Technology
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『理学院の変更点、出題のねらいと出題例』東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『理学院の変更点、出題のねらいと出題例』
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『理学院の変更点、出題のねらいと出題例』
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『生命理工学院の変更点、出題のねらいと出題例』 by Tokyo Institute of Technology
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『生命理工学院の変更点、出題のねらいと出題例』東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『生命理工学院の変更点、出題のねらいと出題例』
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『生命理工学院の変更点、出題のねらいと出題例』
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『環境・社会理工学院の変更点、出題のねらいと出題例』 by Tokyo Institute of Technology
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『環境・社会理工学院の変更点、出題のねらいと出題例』東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『環境・社会理工学院の変更点、出題のねらいと出題例』
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『環境・社会理工学院の変更点、出題のねらいと出題例』
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『物質理工学院の変更点、出題のねらいと出題例』 by Tokyo Institute of Technology
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『物質理工学院の変更点、出題のねらいと出題例』東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『物質理工学院の変更点、出題のねらいと出題例』
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『物質理工学院の変更点、出題のねらいと出題例』
松本良多 インタビュー | ArtUp Mi 2023.pdf by krimsadatv
松本良多 インタビュー | ArtUp Mi 2023.pdf松本良多 インタビュー | ArtUp Mi 2023.pdf
松本良多 インタビュー | ArtUp Mi 2023.pdf
krimsadatv6 views
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『情報理工学院の変更点、出題のねらいと出題例』 by Tokyo Institute of Technology
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『情報理工学院の変更点、出題のねらいと出題例』東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『情報理工学院の変更点、出題のねらいと出題例』
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『情報理工学院の変更点、出題のねらいと出題例』

高速フーリエ変換