题目链接
赛中知道了 f ( i ) = ( n − 2 ) ∗ f ( i − 1 ) + ( n − 1 ) ∗ f ( i − 2 ) f(i)=(n-2)*f(i-1)+(n-1)*f(i-2) f(i)=(n−2)∗f(i−1)+(n−1)∗f(i−2),然后考虑到矩阵上去了,然后歪了。
思路
看了题解才知道,可以将上式通过特征方程求解数列的通项公式求得
f ( t ) = ( ( n − 1 ) t + ( n − 1 ) ∗ ( − 1 ) t ) n = x ( m o d 998244353 ) f(t)=\frac{((n-1)^t+(n-1)*(-1)^t)}{n}=x (\mod 998244353) f(t)=n((n−1)t+(n−1)∗(−1)t)=x(mod998244353)
写一下是如何推导出来的。
已知 a i = ( n − 2 ) ∗ a i − 1 + ( n − 1 ) ∗ a i − 2 a_i=(n-2)*a_{i-1}+(n-1)*a_{i-2} ai=(n−2)∗ai−1+(n−1)∗ai−2,移项并构造一个类似等比数列的东西:
a i − x ∗ a i − 1 = ( a i − 1 − x ∗ a i − 2 ) ∗ y a_i-x*a_{i-1}=(a_{i-1}-x*a_{i-2})*y ai−x∗ai−1=(ai−1−x∗ai−2)∗y,
那么可以发现
a i = ( x + y ) ∗ a i − 1 − x ∗ y ∗ a i − 2 a_i=(x+y)*a_{i-1}-x*y*a_{i-2} ai=(x+y)∗ai−1−x∗y∗a