多項式&生成函數(~~亂講~~)

多項式

多項式乘法

FFT,NTT,MTT不是前置知識嗎?隨便學一下就行了(雖然我到如今仍是不會MTT,exlucas也不會用) FTT總結 NTT總結php

泰勒展開

若是一個多項式$f(x)$在$x0$時存在n階導(就是能夠求導$n$次),那麼能夠換成下面這樣的一個式子: $\begin{aligned}f(x)&=f(x0)+\frac{f^1(x0)}{1!}(x-x0)+\frac{f^2(x0)}{2!}(x-x0)^2+...+\frac{f^n(x0)}{n!}(x-x0)^n+\xi\&=\sum_{i=0}^n \frac{f^i(x0)}{i!}(x-x0)^i+\xi\end{aligned}$ 實在是不想寫MathJax了,蒯一波yyb的html

反正餘項$\xi$趨近於無窮小(由於$n$趨近於無窮大),而後就能夠忽略了.數組

而後若是$x0=0$的時候就能夠直接搞了。函數

最多見的就是$e^x$,由於這個東西是能夠無限求導的.spa

套到以前的式子裏面就是:code

$e^x=1+\frac{x}{1!}+\frac{x^2}{2!}+\frac{x^3}{3!}+...$htm

牛頓迭代

不會證實,背背公式就行了。 $B_{t+1}(x)=B_t(x)-\frac{F(B_t(x))}{F'(B_t(x))}$blog

多項式求逆

隨便推一下就能夠了。 就是考慮$A$爲原來的,$B$爲逆數組; 這個東西能夠套到牛頓迭代的式子裏面去,而後就沒了。字符串

多項式的其餘操做

挖坑待補(通常性都不要用)get

生成函數

普通型生成函數(OGF)

給出一個數列$a_0,a_1,a_2,...$

它的OGF就是 $$ F(x)=a_0+a_1x+a_2x^2+... \ =\sum_{i=0}^{\infty}a_i*x^i $$

指數型生成函數(EGF)

給出一個數列$a_0,a_1,a_2,...$

它的EGF就是 $$ F(x)=\sum_{i=0}^{\infty}\frac{a_i}{i!}*x^i $$

OGF拓展

咱們發現若是把斐波那契數列弄成一個生成函數的話,很顯然就是:

$F(x)=0+1x+1x^2+2x^3+3x^4+...$

而後咱們同時乘一下$x$

$F'(x)=0+1x^2+1x^3+2*x^4+...$

而後裂項一下就是:

$F(x)-F'(x)=0+1x+0+1x^3+1x^4+2x^5$

而後這樣子就變成了:

$x+x^2(0+1x+1x^2+...)$

也就是說:$F(x)-F'(x)=x+F(x)*x^2$

發現這是一個好東西:

$F(x)-x*F(x)=x+F(x)*x^2$

而後移一下項就是:

$F(x)*(x^2+x-1)*F(x)=-x$

發現咱們要求的是$F(x)$,就能夠寫成:

$F(x)=\frac{x}{1-x-x^2}$

這個東西求的話仍是線性的,考慮接着化簡

最後就是這麼一個爛玩意:

$fib_n = -\frac{1}{\sqrt5}(\frac{1-\sqrt5}{2})^n + \frac{1}{\sqrt5}(\frac{1+\sqrt5}{2})^n$

OGF和EGF的區別

咱們發現EGF的公式多除了一個階乘,也就意味分子多乘了一個階乘,那麼階乘在排列組合下的意義是什麼?

順序,因此EGF和OGF的應用也就出來了:

  • OGF表示的是組合意義.
  • EGF用於求排列下的一些東西

引例:

1.如今有A,B兩種物品,A中的物品只可以取奇數個,B中的只能取3的倍數個,求取n個有多少種方法(忽略取出的順序)

考慮講這兩個寫出來就是:

$A(x)=1+3x+5x^2+...$

$B(x)=0+3x+6x^2+...$

而後把這兩個捲起來的第$n$項就是答案


2.如今有A,B兩種物品,A中的物品只可以取奇數個,B中的只能取3的倍數個,求取n個有多少種方法(考慮取出的順序)

考慮順序的話就是EGF,仍是像上面同樣寫出來

$A(x)=\frac{1}{1!}x+\frac{1}{3!}x^3+\frac{1}{5!}x^5...$

$B(x)=1+\frac{1}{2!}x^2+\frac{1}{4!}x^4+...$

而後咱們就能夠感受這兩個東西和咱們以前有一個很像:

$e^x=1+\frac{x}{1!}+\frac{x^2}{2!}+\frac{x^3}{3!}+...$

不是嗎?

而後考慮$x$與$-x$的展開和這個東西好像截然相反...

而後搞一下就行了.

因此:

$A(x)=\frac{e^x-e^{-x}}{2}$

$B(x)=\frac{e^x+e^{-x}}{2}$

而後這兩個東西就很簡單了.

應用

例題什麼的蒯一發yyb的不就行了

字符串配對匹配相關

迴文串匹配

BZOJ3160 萬徑人蹤滅 Solution

考慮下面的這樣一個迴文串的式子: $s[x+i]=s[x-i]$,顯然$x$是迴文中心,而後考慮$(x-i)+(x+i)=2x$這樣的式子,不難發現就是一個卷積,而後就很簡單了。

考慮只有兩種,ab,分別對於這兩種字母做爲1|0搞一下

按照上面的作法捲起來-迴文串的個數就是答案了.

有向圖計數

具體觀看Solution of DAG

未完待續

相關文章
相關標籤/搜索