P12087 [RMI 2019] 好数 / Lucky Numbers
线段树矩乘维护数位 DP。
令
则有:
-
dp_{i,0,0}=\begin{cases}9dp_{i-1,0,0}+8dp_{i-1,0,1}+(x_i-1)dp_{i-1,1,0}+(x_i-2)dp_{i-1,1,1}&x_i>3\\9dp_{i-1,0,0}+8dp_{i-1,0,1}+(x_i-1)dp_{i-1,1,0}+(x_i-1)dp_{i-1,1,1}&2\le x_i\le 3\\9dp_{i-1,0,0}+8dp_{i-1,0,1}+x_idp_{i-1,1,0}+x_idp_{i-1,1,1}&0\le x_i\le 1\end{cases} - 前面的系数
9 表示第i 位不能选1 ,8 表示不能选1 或3 ,后面的系数x_i-1 和x_i-2 同理。
- 前面的系数
-
-
-
-
这个显然可以矩阵乘法维护。
令