专栏文章

P12087 [RMI 2019] 好数 / Lucky Numbers

P12087题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@min8hgr4
此快照首次捕获于
2025/12/01 22:17
3 个月前
此快照最后确认于
2025/12/01 22:17
3 个月前
查看原文
线段树矩乘维护数位 DP。
dpi,0/1,0/1dp_{i,0/1,0/1} 表示当前第 ii 位,是否顶到上界,第 ii 位是否为 11 的方案数量,xix_ixx 从高到低第 ii 位。
则有:
  • dpi,0,0={9dpi1,0,0+8dpi1,0,1+(xi1)dpi1,1,0+(xi2)dpi1,1,1xi>39dpi1,0,0+8dpi1,0,1+(xi1)dpi1,1,0+(xi1)dpi1,1,12xi39dpi1,0,0+8dpi1,0,1+xidpi1,1,0+xidpi1,1,10xi1dp_{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}
    • 前面的系数 99 表示第 ii 位不能选 1188 表示不能选 1133,后面的系数 xi1x_i-1xi2x_i-2 同理。
  • dpi,0,1=dpi1,0,0+dpi1,0,1+[xi>1](dpi1,1,0+dpi1,1,1)dp_{i,0,1}=dp_{i-1,0,0}+dp_{i-1,0,1}+[x_i>1]\left(dp_{i-1,1,0}+dp_{i-1,1,1}\right)
  • dpi,1,0={dpi1,1,0+[xi3]dpi1,1,1xi10xi=1dp_{i,1,0}=\begin{cases}dp_{i-1,1,0}+[x_i\ne 3]dp_{i-1,1,1}&x_i\ne 1\\0&x_i=1\end{cases}
  • dpi,1,1={dpi1,1,0+dpi1,1,1xi=10xi1dp_{i,1,1}=\begin{cases}dp_{i-1,1,0}+dp_{i-1,1,1}&x_i=1\\0&x_i\ne1\end{cases}
  • dp0,1,0=1dp_{0,1,0}=1
这个显然可以矩阵乘法维护。
f=(dpi1,0,0dpi1,0,1dpi1,1,0dpi1,1,1)f=\begin{pmatrix}dp_{i-1,0,0}&dp_{i-1,0,1}&dp_{i-1,1,0}&dp_{i-1,1,1}\end{pmatrix},对于 xi>3x_i>3,可以得出转移矩阵为:
(91008100xi1110xi2110)\begin{pmatrix}9&1&0&0\\8&1&0&0\\x_i-1&1&1&0\\x_i-2&1&1&0\end{pmatrix}
xi3x_i\le 3 的部分转移矩阵构造类似。
直接线段树维护即可。

评论

0 条评论,欢迎与作者交流。

正在加载评论...