一个可能更好理解的解释?
令 $f_{i,j,k}$ 表示考虑了前 $i$ 个操作,当前堆中 $\lt j$ 的数恰有 $k$ 个,当前堆中所有 $\geq j$ 的数的乘积的和,最终的答案就是 $f_{n,1,0}$。
插入操作的转移是容易的,分类一下这次插入的数 $\geq j$ 还是 $\lt j$ 即可。
删除操作分两种情况:
$k>0$,那么本次操作删除的一定是 $\lt j$ 的数,于是 $k\gets k-1$,乘积不变。
$k=0$,那么本次操作完之后依旧满足 $k=0$。考虑如何计算此时的乘积,枚举堆中最小值 $x=j,j+1\dots v$。容易发现 $x\geq y$ 等价于有 $0$ 个数 $\lt y$,所以最小值恰好为 $x$ 时的乘积为 $f_{i-1,x,0}-f_{i-1,x+1,0}$,然后 $x$ 被弹出所以需要除掉一个 $x$。
最后前缀和优化一下即可做到 $O(n^2v)$