3 条题解

  • 5
    @ 2025-11-8 14:38:50

    状压暴力是 O(n2n)O(n2^n) 的,我们不讲。

    假设我们能够贪心的把整个序列先排个序,然后放积木的先后顺序就按照其在排序后的顺序摆放,则可做到 O(2n)O(2^n) 转移。

    本题解用于证明邻项交换的正确性。

    能够证明,邻项交换的偏序关系可表示为有序二元组,即:

    定义有序二元组 (a,b)(a,b),其中 a,bN+a,b\in \N^+,定义其偏序关系为:

    $$(a,b)<(c,d)\Leftrightarrow \min(a-d,c)<\min(a,c-b) $$

    我们需要证明其是良序的。

    1. a=ca=c,则原式 d>ba+b<c+d\Leftrightarrow d> b\Leftrightarrow a+b<c+d
    2. a<ca<c,则 min(ad,c)=ad\min(a-d,c)=a-d,则原式 ad<cba+b<c+d\Leftrightarrow a-d<c-b\Leftrightarrow a+b<c+d
    3. a>ca>c,则 min(a,cb)=cb\min(a,c-b)=c-b,则原式 ad<cb<ca+b<c+d\Leftrightarrow a-d<c-b<c\Leftrightarrow a+b<c+d

    于是二元组偏序关系等价于 a+b<c+da+b<c+d,显然良序,证毕。

    信息

    ID
    581
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    (无)
    递交数
    127
    已通过
    7
    上传者