
最小割
yzyyylx
这个作者很懒,什么都没留下…
展开
-
洛谷 P3355 骑士共存问题
题面题意 给出一张边长为n,有几个障碍点的棋盘,问最多可以放几个骑士使他们不互相攻击. 做法 我们可以反过来考虑,先将棋盘放满骑士,计算至少去掉几个骑士. 经过观察,我们可以发现,相同颜色的格子上的棋子无法相互攻击,因此可以让超级源点连想每一个红点,每一个黄点连向超级汇点,流量均为一,表示将棋盘放满,再将红格子向可以攻击到的格子连一条边,流量为INF,如果有流量通过某个点,就说明这个点原创 2018-02-11 08:36:14 · 408 阅读 · 0 评论 -
洛谷 P1361 小M的作物
题面题意 有n个作物,A,B两块地,将它们种在A,B中的一块,每个作物种在两块地上分别有一个收益,有m种组合,若这个组合内的作物都在一块地内则有额外收益,求最大收益. 做法 这题与洛谷 P3355 骑士共存问题有些相似,都是转化为最小割的问题. 首先假设每种作物均有两个,分别种在A,B上,现在要每种作物都要拔掉一个,那么在跑最大流时,有流量则代表这种做法不采用,最后用总收益减去最大流量原创 2018-02-22 20:16:08 · 577 阅读 · 0 评论 -
洛谷 P3410 拍照
题面题意 有n个人,选出一些人,有m种组合每种组合都有一定收益,但选人也有一定的花费,问最大收益. 做法 这题可以用洛谷 P1361 小M的作物来做,也有简化的方法. 首先对每种方案,每个人都建一个点,之后每个方案点向它所需的人连一条边,每个点都有点权,要选出一些点,使其点权和最大.每一个合法方案都是一个闭合图(每一个点的出边都指向已选择的点),此题就转化为了求最大权闭合图. 最原创 2018-02-23 09:34:00 · 225 阅读 · 0 评论 -
BZOJ 2768[JLOI2010]冠军调查
题面题意 n个人发表意见,每个人说1或0,有m对朋友,为了每个人可以为了朋友迁就自己,改变主意,求改变意见次数与和朋友意见不同的组数之和的最小值. 做法 用最小割求解,将超级源点与说1的相连,说0的与超级汇点相连,朋友间连双向边,求最小割. 因为根据题意只有两种操作会是答案变大: 1.与朋友意见不同(去掉一条边). 2.改变意见(去掉与超级源点或超级汇点间的边) 因此原创 2018-02-24 16:41:11 · 209 阅读 · 0 评论 -
洛谷 P2762 太空飞行计划问题
题面题意 去太空飞行时,可以花费一些钱带一些实验器材,带够一些实验器材可以做一个实验获得一定利润,问最大净利润. 做法 与 洛谷 P3410 拍照相同,都是用最小割解最大权闭合图,但这题还要输出方案. 这道题不能根据边的剩余流量输出方案,因为剩余流量可能不为满流,也不为0,仅仅在满流为1时可以用这种方法输出流量. 正确做法是先求出最小割,然后依次去掉与每个器材相连的边,求一遍最小原创 2018-02-27 19:27:13 · 261 阅读 · 0 评论 -
BZOJ 1001: [BeiJing2006]狼抓兔子 求平面图的最小割
题面题意给出一幅无向平面图,求s到t的最小割. 对偶图:将原图中的每一块区域当作一个点,原图上的每一条边转化为这条边两边区域之间的一条边,任何只在顶点处有交点的图(平面图)都有对偶图.做法这道题如果直接跑最大流,复杂度显然不对,但因为它存在对偶图,我们可以将题目转化为求左下角这块到右上角这块的最短路,对于样例可以这么建图 首先建对偶图 之后去掉原图就可以得到 可以发现从0点到13点(原创 2018-04-23 10:59:51 · 213 阅读 · 0 评论 -
洛谷 P2711 小行星
题面题意给出n个三维空间中的点,每次可以消除三维中至少有一维相等的点,问至少几次可以消除所有点.做法首先想到的是dp,但是很难记录状态,然后考虑网络流,想对每个点间两个点记为a,b两点,对所有a点和它共面的点的b点都连一条边,然后跑费用流,但是建边的复杂度就高达O(n^2),不仅会T,还会M. 正确思路是要抓住x,y,z三维都小于等于500,这就意味着可以考虑对于数值大小来建图,可以将这题转化为最原创 2018-04-28 17:21:36 · 339 阅读 · 0 评论 -
Codeforces 903G Yet Another Maxflow Problem
题面 题意 给出一张有向图,分为A,B两部分,每个部分都有n个点,其中AiA_iAi到Ai+1A_{i+1}Ai+1,BiB_iBi到Bi+1B_{i+1}Bi+1都有一条边,还有m条边从AiA_iAi连向BjB_jBj,每次修改给出ppp,qqq,将ApA_pAp到Ap+1A_{p+1}Ap+1的边的权值改为qqq,并询问从A1A_1A1到BnB_nBn的最大流。 做法 首先...原创 2018-12-21 19:29:39 · 247 阅读 · 0 评论 -
codeforces1146G Zoning Restrictions
题面 题意 在一条路上有标号为1-n的n座房子,每座房子最高为h,若一座房子的高度为x,则这座房子的收益为x*x,有m条限制,每条限制表示如果在l-r之间的所有房子的最大高度超过hi,则罚款ci.问所有房子的最大收益是多少. 做法 一道经典的最小割. 假设一开始所有房子的高度均为h,初始答案为n∗h∗hn*h*hn∗h∗h,可以对每座房子的每一种取值建一个点,并且这样连边S->0->1...原创 2019-05-07 07:31:18 · 380 阅读 · 0 评论