以下の内容はhttps://blog.hamayanhamayan.com/entry/2019/12/14/221205より取得しました。
- 数列の問題とか、組み合わせ問題を多項式の係数に置いて解くテクがある
- はまやんはまやん自信作の解説 testestestさんのまとまった資料
- 母関数・形式的べき級数
- 母関数・形式的べき級数の問題の流れ
- 数列とかDPを母関数にする
- うまいこといじると、多項式計算できる形になる
- それを頑張って計算すると、求めたい数列とかDPになってる
- 多項式の計算
- 母関数とか形式的べき級数とかでコネコネすると多項式の計算に帰着できる
- その後の問題として多項式の計算をどう効率良くやるかという点が問題として残る
- rngさんの形式的べき級数での効率良く計算できるやつまとめ
- yosupoさんのverifyもすごく便利
- DPで計算したほうが早い系
- (1+x+x2+...+xn) = (1-xn+1)(1+x+x2+...) = (1-xn+1)/(1-x)
- (1-xn+1)はFFTでやるよりDPの方で計算したほうが早い
- /(1-x)は累積和と同じ計算になるので、累積和したほうが早い
- どちらもO(N)でできるので、実はこの計算はO(N)でできる
- → EDPC M Candies, ARC028 注文の多い高橋商店
- 多項式の累乗はFFTをして、各要素を累乗して、逆FFTをすれば実現できる
- 数列の漸化式が線形漸化式である場合は、高速きたまさ法が適用できる場合がある
- 線形漸化式:x[i]がそれ以前のK要素の線形計算によって求まる漸化式
- 線形漸化式のときは、行列累乗によるDP高速化が使える
- だが、場合によってはより制約が厳しい場合があり、その場合はきたまさ法か高速きたまさ法でないと通らない
- 写像12相と母関数は相性がいい
- 分割数といえば形式的べき級数
- maspy先生
- 取っ掛かりとしては、を読むのも良いかもしれない
- DPで計算するとO(N2)であるが、多項式でやるとO(NlogN)でできる
- 特殊な漸化式が存在する、オイラーの五角数定理を使用する
- カタラン数
- これも参考になりそう?
- 写像12相ではないけれど、ベルヌーイ数も高速に求められるっぽい(yosupoさんジャッジにあった)
- ベルヌーイ数もあるってことは、スターリング数とかにもある?(要出典)
問題
- 母関数、形式的べき級数
- 線形漸化式、高速きたまさ法
- Kinoshita-Li合成
以上の内容はhttps://blog.hamayanhamayan.com/entry/2019/12/14/221205より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます
不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14