最近学了一下多项式相关算法,简单记录一下
记号说明:
O
(
A
f
(
n
)
)
O(Af(n))
O(Af(n))表示时间复杂度
O
(
f
(
n
)
)
O(f(n))
O(f(n)), FFT的常数为
A
A
A.
例如,进行了
6
6
6次大小为
2
n
2n
2n的DFT/IDFT, 则复杂度为
O
(
12
n
log
n
)
O(12n\log n)
O(12nlogn)
以下的常数都是以我的实现方法为准,很可能有比我好的做法,如果有的话欢迎沟通(我太菜了)。
- 多项式乘法
两个 n n n次多项式相乘, O ( 6 n log n ) O(6n\log n) O(6nlogn)时间, 2 n 2n 2n空间 - 多项式求逆
n n n次多项式求逆, O ( 12 n log n ) O(12n\log n) O(12nlogn)时间, 4 n 4n 4n空间
https://blog.csdn.net/suncongbo/article/details/84485718 - 多项式对数函数
n n n次多项式对数函数, O ( 18 n log n ) O(18n\log n) O(18nlogn), 4 n 4n 4n空间
https://blog.csdn.net/suncongbo/article/details/84487306 - 多项式指数函数
n n n次多项式指数函数, O ( 48 n log n ) O(48n\log n) O(48nlogn), 4 n 4n 4n空间
https://blog.csdn.net/suncongbo/article/details/84559818 - 多项式带余除法
n n n次多项式除以小于 n n n次的多项式, O ( 24 n log n ) O(24n\log n) O(24nlogn), 8 n 8n 8n空间
https://blog.csdn.net/suncongbo/article/details/84853342