"문제: 두 다항식의 곱을 효율적으로 계산하세요.
해결책:
import numpy
from numpy.fft import fft, ifft
def poly_mul(p1, p2):
"""두 다항식을 곱합니다. p1과 p2는 차수가 증가하는 순서의 계수 배열입니다."""
deg1 = p1.shape[0] - 1
deg2 = p1.shape[0] - 1
# 2*(deg1 + deg2) + 1이지만, 다음 2의 거듭제곱이 +1을 처리합니다.
total_num_pts = 2 * (deg1 + deg2)
next_power_of_2 = 1 << (total_num_pts - 1).bit_length()
jeremykun.com
Polynomial Multiplication Using the FFT
