1 条题解

  • 2
    @ 2023-5-10 16:29:12

    考虑大力跑流。

    我们考虑构造一个最小割模型,共 3n+23n+2 个点,SS 与左部点连边 bb,右部点与 TT 连边 ww,左右部点直接对应用 ++\infty 相连,左部点往中部点连边权 pp,中部点和可能影响之的右部点用 ++\infty 相连。

    这样答案即为 b+wc\sum b+\sum w-c,其中 cc 为最小割大小。

    直接做边数是 O(n2)O(n^2) 的,按 uoj 的数据强度肯定是过不去的。

    所以直接上主席树优化建图,即可做到 O(nlogn)O(n\log n) 个点,O(nlogn)O(n\log n) 条边,应该就能松过去了。

    最好先进行值域离散化。

    然后上面这种做法可能会导致某项两侧均被割掉从而答案错误,所以考虑怎么办。

    考虑初始给 b,wb,w 均加上一个极大数 A=300000A=300000,使得一但割掉 n+1n+1 个颜色就会带来过大的代价,不如直接选择,从而保证正确性。

    • 1

    信息

    ID
    3218
    时间
    2000ms
    内存
    48MiB
    难度
    7
    标签
    (无)
    递交数
    75
    已通过
    16
    上传者