diverta 2019 Programming Contest 2 E.Balanced Piles

这题很有意思啊

考虑数\(x\),若其不变成\(H\),其终将最小值
若当前最小值为\(x\),个数为\(num\),不考虑其转移后的数,方案为\(\frac{1}{num!}\)

对于最大值\(\in[i-D,i)\),其最小值可以成为\(i\)
对于最大值\(\in[i-D,i)\),若确定了该集合,当其转移到最大值为\(i\)时,最大值的个数是任意的

考虑提前将某个值到达最小值时乘上\(\frac{1}{num!}\)
\(f_i\)为最大值为\(i\)时上述方案数
\(f_i=(\sum\limits_{k=1}^{n}k!)(\sum\limits_{k=i-D}^{i-1}f_k)\)。特殊的,\(f_0=n!\)

由于\(H\)后不能再转移了,故\(Ans=\frac{1}{\sum\limits_{k=1}^{n}k!}f_{H}\)

posted @ 2020-08-11 16:46  Grice  阅读(102)  评论(0编辑  收藏  举报