1 条题解

  • 0
    @ 2026-9-29 20:34:12

    本题考察了 DP,组合数学的相关知识。

    30pts

    我们用计数 dpdp。

    设 dpi,jdp_{i,j} 表示前 ii 个数,最后一个数是 jj 的合法方案数,转移:dpi,j=∑k≥jdpi−1,kdp_{i,j} = \sum_{k \geq j} dp_{i-1,k}。

    +30pts

    考虑 li=ljl_i=l_j,ri=rjr_i=r_j,假设 A=ri−li+1A=r_i-l_i+1,问题相当于求解值域 [1,A][1,A] 的不增序列,可以直接利用组合数插板法分析出答案。

    80pts

    上面两档分启发我们同时从 DP 和组合的角度考虑问题。

    用每个 Li,RiL_i, R_i 做分界点,把所有的数分组。

    设离散化的数组为 rere,则第 ii 组的数包括 [rei,rei+1)[re_i, re_{i+1})。

    这样我们可以愉快地 dpdp 了,设 dpi,jdp_{i,j} 表示前 ii 个数,最后一个数在第 jj 组的合法方案数。通过枚举 kk,表示 ak+1,⋅⋅⋅,ia_{k+1,···,i} 全在第 jj 组,进行转移:

    $$dp_{i,j} = \sum_{k=1}^{i-1} \sum_{p>j} dp_{k,p} \times \binom{len + i - k - 1}{len - 1}$$

    100pts

    这个内层求和显然可以用前缀和优化,所以总时间复杂度为 O(n3)O(n^3)。

    • 1

    信息

    ID
    8293
    时间
    3000ms
    内存
    512MiB
    难度
    10
    标签
    递交数
    6
    已通过
    3
    上传者