1 条题解

  • 0
    @ 2026-9-3 10:58:29

    题解

    思路

    按最后一个被选位置划分方案。每个非空优美路径的最后一组都有唯一的最早位置和最晚位置,因此不会重复计数。

    做法

    令 bestibest_i 为只使用前 ii 个位置能得到的最大组数,waysiways_i 为对应方案数。可以跳过位置 ii,继承前缀状态。

    若最后一组的首尾位置为 l,il,i,必须满足 cl=cic_l=c_i。在开区间 (l,i)(l,i) 中还要选择 k−2k-2 个同色位置,共有

    (cnt⁡(l+1,i−1,ci)k−2)\binom{\operatorname{cnt}(l+1,i-1,c_i)}{k-2}

    种。把它乘以 waysl−1ways_{l-1},即可转移到 bestl−1+1best_{l-1}+1 组。只保留最大组数并累加同最优值方案。k=1k=1 时每个位置单独成组,答案显然为一。

    小规模可枚举所有子序列直接检查。

    复杂度

    预处理阶乘和逆阶乘后可在 O(1)O(1) 时间求组合数。每组时间复杂度 O(n2)O(n^2),空间复杂度 O(n)O(n)。

    • 1

    信息

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