1 条题解

  • 1
    @ 2022-1-24 21:56:13

    题目分析

    设初始矩形大小为 (nr,mr)(n_r, m_r),当前矩形为 (n,m)(n, m)。删一行即 nn 减一,删一列即 mm 减一。当 n=0n=0m=0m=0 时土地耕完。不难发现 nnmm 不会同时减到 00,假设土地耕完时 n=0n=0

    答案 $ans = \min \{ n_r + m_r - n - m \} = \min \{m_r - m\} + n_r = m_r + n_r - m_{max}$,问题转化为最大化 mm。一个贪心的想法,能删行尽量删行,不能删行时才删列。但不好确定删上面的列还是下面的列。

    考虑 DP,设 f(i,j)=(x,y)f (i, j) = (x, y) 表示删到列区间为 [i,j][i, j] 能删到的最小行区间 [x,y][x, y]。那么满足 [x,y]=[x, y] = \varnothingji+1j - i + 1 即为候选的 mmaxm_{max}

    几个结论:

    对于每个合法的 [i,j][i, j]f(i,j)f(i, j) 取值唯一。

    证明:

    反证法,假设存在 [x,y],[a,b][x, y], [a, b] 皆为删到列区间 [i,j][i, j] 时能删到的最小行区间,发现能构造一个严格更小的行区间 [x,y][a,b][x, y] \cap [a, b],与 [x,y],[a,b][x, y], [a, b] 最小的前提矛盾,假设不成立,原命题成立。

    对于合法的 [i,j],[x,y][i, j], [x, y],若 [x,y][i,j][x, y] \subseteq [i, j],则有 f(x,y)f(i,j)f (x, y) \subseteq f (i, j)

    证明:

    反证法,假设存在一行 aa,满足 af(x,y)a \in f (x, y)a∉f(i,j)a \not \in f (i, j)
    c(x,y,z)c (x, y, z) 为第 zz[x,y][x, y] 区间的难度和,那么有 c(i,j,a)k<c(x,y,a)c (i, j, a) \leq k < c (x, y, a),又有 c(i,j,a)c(x,y,a)c (i, j, a) \geq c (x, y, a),与不等式矛盾,故假设不成立,原命题成立。

    有了上面的结论就很好 DP 了。转移有 f(i,j)f(i+1,j)f(i, j) \to f (i + 1, j)f(i,j)f(i,j1)f (i, j) \to f (i, j - 1),继承转移来的区间后暴力求出最小区间。由结论 2. 保证复杂度正确,为 O(n2)O(n^2)

    另外,对行考虑完后再对列做一遍。

    • 1

    信息

    ID
    1519
    时间
    1000ms
    内存
    128MiB
    难度
    10
    标签
    递交数
    6
    已通过
    3
    上传者