【笔记】欧拉数
记 \(f(n,m)\) 表示长度为 \(n\) 的排列,满足恰好有 \(m\) 个 \(i\) 满足 \(p_i < p_{i + 1}\) 的方案数。
显然可以 \(\mathcal{O}(nm)\) 递推,\(f(n,m) = mf(n - 1,m - 1) + (n - m - 1)f(n - 1, m)\)。组合意义是考虑将最大的数插入的位置。
还可以记一下式子
\[f(n,m) = \sum\limits_{i = 0} ^ {m}(-1) ^ i \binom{n + 1}{i}(m - i + 1) ^ n
\]
这样可以 \(\mathcal{O}(m\log )\) 求一行,\(\mathcal{O}(n + m)\) 求一个。