E - Reversed Number Sum 解説 by harurun4635


以下のように定義します。

\(A_{N,M}\) を問題の答えとする。
\(D_{N,M} = A_{N,M} - A_{N-1,M}\) とする。
\(\displaystyle f_N(x) = \sum_{M} \frac{D_{N,M}}{M!} x^M\) とする。

ちょうど \(N\) 桁の数について考えると以下のようになります。ただし、最高位は \(1 \sim 9\) しかとらないことに注意してください。

\[\displaystyle f_N(x) = \sum_{M} \sum_{1 \le d_0 \le 9, 0 \le d_1, \dots , d_{N-1} \le 9} \frac{(d_0 10^0 + d_1 10^1 + \cdots + d_{N-1} 10^{N-1})^M}{M!} x^M\]

整理すると

\[\displaystyle f_N(x) = \sum_{1 \le d_0 \le 9, 0 \le d_1, \dots , d_{N-1} \le 9} \exp ( (d_0 10^0 + d_1 10^1 + \cdots + d_{N-1} 10^{N-1}) x )\]

\[=\sum_{1 \le d_0 \le 9, 0 \le d_1, \dots , d_{N-1} \le 9} \left( \prod_{0 \le i \le N-1} \exp(d_i10^i x) \right)\]

\[ = \left( \sum_{1 \le d \le 9} \exp(d x) \right) \prod_{1 \le i \le N-1} \left( \sum_{0 \le d \le 9} \exp(d10^i x) \right)\]

\[ = \frac{(\exp(10x) - \exp(x))(\exp(10^Nx) - 1)}{(\exp(x) - 1)(\exp(10x)-1)}\]

これを足し合わせます。

\[\displaystyle A_{N,M} = M! [x^M]\frac{(\exp(10x) - \exp(x)) \displaystyle \sum_{1 \le i \le N}(\exp(10^ix) - 1)}{(\exp(x) - 1)(\exp(10x)-1)}\]

それぞれの分母・分子のそれぞれの項(計 \(4\) つ)を \(O(M)\) 項計算すればよいです。計算量は \(O(M (\log M + \log N))\) です。

投稿日時:
最終更新: