Hihocoder #1938 最大权闭合子图模板】的更多相关文章

这里的讲解很不错,适合作为入坑题: Hihocoder#1938 代码: #include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include<queue> #define ms(a,x) memset(a,x,sizeof(a)) using namespace std; int S,T; ,inf=0x3…
1497: [NOI2006]最大获利 Time Limit: 5 Sec  Memory Limit: 64 MB Description 新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战.THU集团旗下的CS&T通讯公司在新一代通讯技术血战的前夜,需要做太多的准备工作,仅就站址选择一项,就需要完成前期市场研究.站址勘测.最优化等项目.在前期市场调查和站址勘测之后,公司得到了一共N个可以作为通讯信号中转站的地址,而由于这些地址的地理位置差异,在不同的地方建造通讯中转站需要…
P4174 [NOI2006]最大获利 (最大权闭合子图) 题目链接 题意 建\(i\)站台需要\(p_i\)的花费,当\(A_i,B_i\)都建立时获得\(C_i\)的利润,求最大的利润 思路 最大权闭合子图模板题 参考论文 将所有站台与S连接,边权值为\(P_i\),将第\(i\)个利润与\(T\)连接,边权为\(C_i\),再与\(A_i,B_i\)连接,边权为\(inf\),跑网络流,最小割 = 建立站台的花费 + 不要的利润 ,Ans = 所有的利润 - (建立站台的花费 + 不要的利…
周末,小Hi和小Ho所在的班级决定举行一些班级建设活动. 根据周内的调查结果,小Hi和小Ho一共列出了N项不同的活动(编号1..N),第i项活动能够产生a[i]的活跃值. 班级一共有M名学生(编号1..M),邀请编号为i的同学来参加班级建设活动需要消耗b[i]的活跃值. 每项活动都需要某些学生在场才能够进行,若其中有任意一个学生没有被邀请,这项活动就没有办法进行. 班级建设的活跃值是活动产生的总活跃值减去邀请学生所花费的活跃值. 小Hi和小Ho需要选择进行哪些活动,来保证班级建设的活跃值尽可能大…
https://www.luogu.org/problemnew/show/P4174 最大权闭合子图的模板 每个通讯站建一个点,点权为-Pi:每个用户建一个点,点权为Ci,分别向Ai和Bi对应的点连边:然后就可以跑了 方法是: 建新源S和新汇T,从S向所有正权点连边,容量为点权值:从所有负权点向T连边,容量为点权值的相反数:原图中所有边容量设为无穷大 跑S到T最大流 原因:(网上都有,自己研究的也不知道有没有偏差) 找出图的任意一个割,其中: 显然不可能割掉容量为无穷大的边: 割掉一条S到u的…
题目链接:http://hihocoder.com/contest/hiho119/problem/1 题意:中文题意. 由于1≤N≤200,1≤M≤200.最极端情况就是中间所有边都是满的,一共有N*M条边,则最多有40000条边. 对于这样的问题有统一的建图策略,提取出问题的最终形态即可按照如下方式建图: 首先建立源点s和汇点t,将源点s与所有权值为正的点相连,容量为权值:将所有权值为负的点与汇点t相连,容量为权值的绝对值:权值为0的点不做处理:同时将原来的边容量设置为无穷大. 利用结论:最…
题目大意 ​ 给你一个\(n\times m\)的地图,每个格子上都有一颗植物,有的植物能保护其他植物.僵尸从右往左进攻,每吃掉一颗植物就可以得到\(a_{i,j}\)的收益(\(a_{i,j}\)可以是负数).求僵尸的最大收益 ​ \(1\leq n\leq20,1\leq m\leq30\) 题解 ​ 这种一个东西可以保护另一个东西而且数据范围那么小的题目显然是最大权闭合子图. ​ 僵尸从右往左进攻,所以一棵植物可以保护它左边的植物. ​ 如果保护关系形成一个环,就都不能选. ​ 直接套模板…
题目大意:有$N$项活动$M$个人,每个活动$act_i$有一个正的权值$a_i$,每个人$stu_i$有一个负的权值$b_i$.每项活动能够被完成当且仅当该项活动所需的所有人到场.如何选择活动使最终权值总和最大?即对于给定的有向无环图,求出最大权闭合子图的权值. 结论:最大权闭合子图的权值等于所有正权点之和减去最小割. 思路:引理:1.最小割一定是简单割:2.简单割一定和一个闭合子图对应.即最小割一定对应一个闭合子图,且就是最大权闭合子图.证明(摘自HihoCoder):首先有割的容量C(S,…
题目传送门 题意:给出n个活动,m个人,请人需要花费$a[i]$的钱,举办一次活动可以赚$b[i]$的钱,但是需要固定的几个人在场,一个人只需要请一次后就必定在场,问最大收益. 思路: 下列结论来自hihocoder的例题 下面不加证明的给出几个概念和结论. 1)闭合子图:给定一个有向图,从中选择一些点组成一个点集V.对于V中任意一个点,其后续节点都仍然在V中.比如: 在这个图中有8个闭合子图:∅,{3},{4},{2,4},{3,4},{1,3,4},{2,3,4},{1,2,3,4} 2)…
第一次做最小割,不是很理解. https://www.luogu.org/problemnew/show/P1361 要把东西分进两类里,好像可以应用最小割的模板,其中一类A作为源点,另一类B作为汇点,价值就是边的容量. 然后最小割一定会割断每个中间结点的两边的其中一边,这样最大价值就顺带求出来了. 在这道题里面额外还有某些点成组出现的额外价值.题解的办法是分别虚拟两个结点代表两个集合,源点到集合a的容量是其价值,然后从a连到他的附属结点各边容量为无穷.无穷的边不能被最小割割断.所以要么是把a的…