给定正整数 \(N\),设其十进制下的长度为 \(n\)。另给定一个非零数位 \(x\)。对于每个 \(0 \le k \le n\),求出在不小于 \(N\) 的正整数中,有多少数的十进制表示中 \(x\) 的数量为 \(k\)。
link
直接想 gf 或者组合可能就歪了。
考虑最弱智的 \(n*n*10\) 的 dp,把其中表示有 \(j\) 个 \(x\) 的那一维看成多项式,然后转移是一个类前缀和形式,能写成 \(2*2\) 的矩阵形式,对矩阵分治 ntt 就行。