P8554 心跳 解题报告: 更好的阅读体验 题意 定义一个排列上的函数 $f(p,i)$ 表示序列 $p$ 去除 $i$ 位置后前缀最大值个数。对于所有长度为 $n$ 的排列 $p$,生成序列 $a_i=f(p,i)$。试计数值域 $[m,n]$,且能被生成的 $a$ 序列数量。 $1\leqsl
然后限制是要求至少有 n−kn−k 个数值为 kk ,我们考虑使用 dpdp 来计数,一个朴素的想法是设 fi,jfi,j 表示现在计数到第 ii 个,目前已经钦定了 jj 个位置作为前缀最大值。 那么就有转移方程 fi,j=i∑k=1fk,j−1×(j−k)fi,j=∑k=1ifk,j−1×(j−k) 这个可以转移方程用前缀和优化...