【题解】CF1437F Emotional Fishermen 动态规划、计数

题目链接

题目对排列 \(p\) 的限制为对于每个位置 \(i\) ,\(a[p_i]\) 要么不超过前缀最大值的一半,要么前缀最值不超过 \(a[p_{i-1}]\) 的一半。

一个显然的性质:前缀最值单调不降。

考察全局最值的性质:

  • 对于全局最值后面每一个位置,一定不超过其一半,对于前面每一个位置一定不超过其一半。

因此对于全局最值我们可以发现,除了该位置其余位置均不超过一半。

因为对于前缀最值单调不降,所以考虑将所有 \(a_i\) 排序后用子问题的全局最值刻画前缀最值从而刻画子问题。

对于刻画排列,目前我以知的两种方式:

  • 刻画每个 \(1\sim i\) 的子问题,转移考虑 \(i\) 插到哪个位置。

  • 将构造排列看成 \(n\) 个元素往 \(n\) 个位置上填。

对于本题,我们采取第二种刻画方式,具体地:

  • \(f[i,j]\) 为填了前 \(j\) 个位置且最大值为 \(a_i\) 的方案数。

转移考虑最后一个位置是不是 \(a_i\) 即可。

复杂度 \(O(n^2)\)

代码记录

posted @ 2021-10-30 15:33  Themaxmaxmax  阅读(25)  评论(0编辑  收藏  举报