1 条题解
信息
- ID
- 1639
- 时间
- 3000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者
设 dpl,r 表示只考虑区间 [l,r] 内完全包含的条件时,这一段相对大小排列的合法方案数。
枚举该区间最大值所在位置 k:若存在某个满足 l≤Li≤Ri≤r 且 Xi=k 的条件,则这个位置不能放最大值;否则跨过 k 的条件已经由最大值保证成立,剩余条件分别落入左右两段。左右两段的值集合可以从其余 r−l 个值中任选,因此转移贡献为 dpl,k−1dpk+1,r(k−lr−l),空区间的方案数视为 1。
为快速判断位置是否被禁止,对每个右端点 r 和位置 k 预处理所有满足 Ri≤r、Xi=k 的条件中最大的 Li;该最大值不小于当前 l 时,k 就不可选。组合数用杨辉三角预处理,按区间长度递增计算 DP。
时间复杂度为 O(N3+N2+M),空间复杂度为 O(N2)。