Atcoder abc276
https://atcoder.jp/contests/abc276/tasks
G - Count Sequences
范围 [0,m] 单调递增 n个数, 且相邻 mod 3 不同
问 方案数 mod 998244353
范围
n 1e7
m 1e7
4s
1024mb
我的思路
f(n,m) = 范围 [0,m] 放n个数, 第一个放0 的方案数
ans = sum f(n,0..m)
f(n,m) = sum f(n-1,m-非3倍数)
考虑 生成函数 f(n,m) 为 生成函数$F_n$的系数
$F_1 = 1+x+x^2+x^3+\cdots = \frac{1}{1-x}$
$ans = \lbrack x^m \rbrack (F_n \cdot \frac{1}{1-x}) $
$F_i = F_{i-1} \cdot (x+x^2+x^4+x^5+x^7+x^8+\cdots)$
$= F_{i-1} \cdot \frac{x+x^2}{1-x^3}$
$F_n = F_1 \cdot (\frac{x+x^2}{1-x^3})^{n-1} $
$ans = \lbrack x^m \rbrack \frac{(x+x^2)^{n-1}}{(1-x)^2(1-x^3)^{n-1}}$
然后 我暴力算 样例就TLE了