1 条题解

  • 0
    @ 2026-5-7 16:47:22

    先固定数量 (x,y)(x,y),考虑如何判断是否合法。很容易形式化描述,即如下命题。

    不存在将 {1,2,,n}\{1,2,\cdots,n\} 划分成两个不交集合 {p1,p2,,pk}\{p_1,p_2,\cdots,p_k\}{q1,q2,,qnk}\{q_1,q_2,\cdots,q_{n-k}\} 的方案,使得:

    i=1kapix\sum\limits_{i=1}^ka_{p_i}\ge x

    i=1nkbqiy\sum\limits_{i=1}^{n-k}b_{q_i}\ge y

    这个很好理解,就是无论如何,你都不能从两堆不交的颜色中一边取 xx 个,一边取 yy 个。

    接下来的转化很显然。注意到一共只有 O(2n)O(2^n) 个这样的约束条件,将 (x,y)(x,y) 视为坐标系内的点,问题进一步转化为:

    mm 个长宽均在坐标轴上的矩形,右上坐标均给定,已知点 (x,y)(x,y) 不包含于这些矩形的并,最小化 x+yx+y

    画个图。大概长这样。

    很容易发现,最优的点一定是标绿的这些点横纵坐标均 +1+1 的结果。而这些点个数也是 O(2n)O(2^n) 的,至于这个矩形并的轮廓,单调栈维护即可。

    (这里图手抖画错了,显然最两边那两个绿点取不到,知道就行)

    总复杂度 O(2n)O(2^n)代码

    • 1

    信息

    ID
    2821
    时间
    1000ms
    内存
    64MiB
    难度
    10
    标签
    递交数
    7
    已通过
    3
    上传者