Liveddd's Blog

愛にできることはまだあるかい

LOJ#3730. 「SNOI2022」数位

非常不错的一道容斥 + 斯特林数 + 数位 DP。

考虑对于每个 S=iai 求方案数。 因为有 LaiR 的限制,我们考虑经典容斥。设若只存在限制 aiL,那么方案数通过隔板法容易得到为 (Sk(L1)1k1)。于是容斥,设至少有 xai 满足 ai>R,再利用二项式反演得到:

i=0k(1)i(ki)(Sk(L1)i(RL+1)1k1)

x=Sk(L1)i(RL+1)1,那么要求 (xk1)x 很大,在组合数上不好处理,我们尝试将限制转为 k。通过第一类斯特林数,我们可以将下降幂转为普通幂 xn=i=0n(1)ni[ni]xi,也就是有 (xn)=xnn!=1n!i=0n(1)ni[ni]xi。于是我们对于每个 i[0,k1] 求出 xxi 即可。

接下来

Gitalk 加载中 ...