• 快乐的一天从AC开始 | 20210710 | P3410


    题目链接

    今天的快乐从0点开始!

    心路历程

    这题看数据范围就猜是网络流,没想到还真是。

    思路

    首先需要介绍闭合图:一个有向图,图内的每一个节点,它能到达的点也属于这个图,称这个图为闭合图。

    将每个生意和超级源点(S)连边,容量为收益。

    将每个下属和超级汇点(T)连边,容量为代价。

    将每个生意,和每个要求的下属连边,容量为INF。

    这样,满足条件的方案构成的图一定是原图的某个闭合子图。

    将割掉一个(S)到生意的边,看成是放弃了这个生意;将割掉一个下属到(T)的边,看成是带上这个下属;如果存在(S)(T)的流,就不符合条件了。所以最终的方案一定是原图的割

    然后就想到了最小割。由于生意和下属的连边为INF,最小割必不可能包含这些边。

    然后,闭合图的权值 = 所有生意的收益和 - 未选生意的收益和 - 选择下属的代价和 = 所有生意收益和 - 割。

    由此,最大权闭合子图的权值 = 所有生意的收益和 - 最小割大小。

    根据最大流最小割定理,跑个dinic最大流完事。

  • 相关阅读:
    小程序 新建项目底部tabbar
    HBuild 连接安卓手机
    jquery tab切换
    VUE 项目运行
    VUE 创建element项目
    VUE环境搭建、创建项目、vue调试工具
    HBuild 连接苹果手机
    javascript五种基本类型
    SASS 简单实用
    redis基础02-redis的5种对象数据类型
  • 原文地址:https://www.cnblogs.com/zengzk/p/14992908.html
Copyright © 2020-2023  润新知