多項式算法複習和生成函數複習

多項式算法複習

標籤(空格分隔): 未分類算法


FTT,NTT,MTT

抱歉,不打算講。函數

多項式加減法

抱歉,不打算講。ui

多項式乘法

抱歉,不打算講。spa

多項式求逆

\(A(x)B_t(x)\equiv1(\mod x^{2^t})\)class

\(A(x)B_t(x)-1\equiv0(\mod x^{2^t})\)標籤

\((A(x)B_t(x)-1)^2\equiv0(\mod x^{2^{t+1}})\)生成

\((A(x)B_t(x))^2-2A(x)B_t(x)+1\equiv0(\mod x^{2^{t+1}})\)math

\(B_{t+1}(x)(A(x)B_t(x))^2-2B_{t+1}(x)A(x)B_t(x)+B_{t+1}(x)\equiv0(\mod x^{2^{t+1}})\)

\(B_{t+1}(x)\equiv 2B_t(x)-A(x)B_t^2(x)(\mod x^{2^{t+1}})\)

邊界條件\(B_0(x)=1\)

多項式牛頓迭代

\(F(B_t(x))\equiv0(\mod x^{2^t})\)

\(F(B_{t+1}(x))\)\(B_t(x)\)處泰勒展開。

\(F(B_{t+1}(x))=F(B_t(x))+\frac{F'(B_t(x))}{1!}(B_{t+1}(x)-B_t(x))\)

由於後面的項在\((\mod x^{2^{t+1}})\)下爲\(0\)。因此無論。

化簡一下(注意到\(F(B_{t+1}(x))\equiv0(\mod x^{2^{t+1}})\)

\(B_{t+1}(x)=B_t(x)-\frac{F(B_t(x))}{F'(B_t(x))}\)


會求逆和迭代後,多項式算法就沒有特別毒瘤的東西了。


多項式帶餘除法

\(A^R(x)\)\(A(x)\)係數翻轉後的多項式,則\(A^R(x)=x^nA(\frac 1x)\)

\(A(x)=B(x)C(x)+R(x)\)其中\(A(x)\)的項數是\(n\)\(B(x)\)的項數是\(m\),\(R(x)\)的項數是\(m-1\)

\(x^nA(\frac 1x)=x^mB(\frac 1x)x^{n-m}C(\frac 1x)+x^nR(\frac 1x)\)

\(A^R(x)=B^R(x)C^R(x)+x^{n-m+1}R^R(x)\)

咱們把它換到模\(x^{n-m+1}\)意義下。

就能夠用多項式求逆算\(C(x)\)了,而後帶回去,就能夠算\(R(x)\)了。

多項式ln

\(lnA(x)=B(x)\)

\(\frac {A'(x)}{A(x)}=B'(x)\)

\(B(x)=\int\frac{A'(x)}{A(x)}\)

多項式exp

\(F(B_t(x))=lnB_t(x)-A(x)\)

\(F'(B_t(x))=\frac 1{B(x)}\)

\(B_{t+1}(x)\equiv B_t(x)(1-lnB_t(x)+A(x))\)

多項式開方

\(F(B_t(x))=B_t^2(x)-A(x)\)

\(F'(B_t(x))=2B_t(x)\)

\(B_{t+1}(x)\equiv B_T(x)-\frac{B_t^2(x)-A(x)}{2B_t(x)}\)

化簡一下就是\(B_{t+1}=\frac 12(B_t(x)+\frac {A(x)}{B_t(x)})\)

多點求值

咕咕咕

多點插值

咕咕咕


生成函數

咕咕咕

相關文章
相關標籤/搜索