公式解説と違う方法で解いたのだが、その時に使った式変形が面白かったので紹介。
いくらかの計算をすると、次の問題に帰着される。
個の非負整数組 が与えられる。 これらは全て を満たす。
の先頭 項を で計算せよ。
追記
もっと簡単な方法が紹介されていた。 とすると、 である。 分母を払うと の係数の間に漸化式があることが分かるので、それに沿って計算すれば である (疎な微分方程式の解)。 これを 回行って足し合わせればよい。
これに気付かなかったの恥ずかしい...
追記終わり
であるから、以下の問題が解ければよい。
多項式 は高々 個の非零な係数を持つ。 の先頭 項を求めよ。
まず の先頭 項を計算し、次に を代入することで計算する。 の計算を先頭 項で打ち切ることは、 の定数項が であることから正当化される。 は二項定理を用いて で計算できるから、残るのは以下のような問題である。
次の多項式 が与えられる。 の先頭 項を計算せよ。
これは以下のような手順で計算できる。
- を計算する。単に多項式の係数を左右反転するだけでよい。
- を代入し、 を得る。(taylor shift)
- これの係数を再び反転させ、 を得る。
- で割る。
時間計算量は である。
後半部分はこの記事と同じ計算をしている。 [多項式・形式的べき級数] 高速に計算できるものたち | maspyのHP 指数部分の和が一定というと使いどころが分かりづらいが、一般に 次の有理式の代入が でできると言い換えると見た目は良いかもしれない。