[學習筆記]多項式的整除、取模、多點求值和插值及常係數線性遞推
一、開頭
( WC2019 神犇協會)
undefeatedKO : NOI2017 的題大家都 AK 了嗎?
All : AK 了!
ION :我們穿越到 2019 年的 WC 怎麼樣?
olis :好啊!聽說一個弱雞 xyz32768 要來 WC ,我們一到就把他 D 一遍,這樣他 WC2019 不爆零才怪呢!
( WC2019 )
VFN :我們剛剛 A 掉了分身術這題。考慮到你比較菜,我就不用這道題考你了,我換成 Day1 T3 的泳池,如果你做不出來,你就肯定會在 WC2019 我們精心出的試題面前爆零!
xyz32768 :什麼??????
NFV :哈哈,沒想到你這麼菜呀,那我再降低下要求:我告訴你這道題的演算法是:常係數線性遞推。
xyz32768 :什麼?矩乘快速冪??????
phantom : 你這個弱雞居然連多項式整除和取模都不會,明天你爆零定了!再見!
xyz32768 : 算了,爆零就爆零吧,反正我永遠都學不會任何多項式演算法。
pool : 沒想到 xyz32768 你菜得超出我的眼界了,再見,爆零蒟蒻!
二、前置芝士:多項式求逆
三、多項式的整除與取模
一個
次多項式
和
次多項式
,求多項式
和
,滿足:
(1)
次數為
,
次數為
。
(2)
這就是求
為
與
整除得到的多項式,且
。
下面進入推式子環節。
兩邊同乘
:
其中
表示
的係數翻轉,即
的
次項係數為
的
次項係數。
需要求
模
的逆。
至此,我們得到了整除的結果。
取模則更簡單:
多項式取模的重要應用:如果在一定的條件下
為
,那麼將計算
改為計算
有時可以有效地降低複雜度。
四、應用:多項式多點求值
給定一個
次多項式
和
個值
,求出
,
,
,
。
採用分治的演算法。取
。
先計算