网络流24题
issue是fw
19 years old, struggling in life, chasing daydreams.
展开
-
2021牛客暑期多校训练营3 C.Minimum grid(二分图匹配)
LINK最差情况下答案是∑i=1nai+∑i=1nbi\sum\limits_{i=1}^n a_i+\sum\limits_{i=1}^nb_ii=1∑nai+i=1∑nbi考虑减小答案的唯一方式是在格子(i,j)(i,j)(i,j)放下数字且aia_iai,且此时ai==bja_i==b_jai==bj就同时满足一行一列这样就省去了一个aia_iai的代价于是考虑单独提出权值为www的行和列,问题转化为一个匹配问题若格子(i,j)(i,j)(i,j)存在可以由iii行向jjj原创 2021-08-06 21:25:17 · 241 阅读 · 0 评论 -
P4589 [TJOI2018]智力竞赛(上下界网络流)
LINK用有源汇上下界可行流就是裸题了,简单说一下建立源点sss连向虚点xuxuxu,流量为[0,n+1][0,n+1][0,n+1],表示只能答题n+1n+1n+1次把一个人拆分为uuu和u+mu+mu+m,如果必须要经过这个人流量是[1,n+1][1,n+1][1,n+1],否则是[0,n+1][0,n+1][0,n+1]然后xuxuxu连向uuu流量为[0,n+1][0,n+1][0,n+1],表示可以走任意次u+mu+mu+m连向ttt流量[0,n+1][0,n+1][0,n+1],表示可原创 2021-04-04 11:43:04 · 248 阅读 · 0 评论 -
CF739E Gosha is hunting(期望转费用流)
其实这个正解是wqs二分套wqs二分然而我太菜了不会那么难的,用个费用流水一水匹配问题,容易想到网络流匹配问题,容易想到网络流匹配问题,容易想到网络流把两种球拆分为两个虚点,s分别向其连流量a,b费用0的边把两种球拆分为两个虚点,s分别向其连流量a,b费用0的边把两种球拆分为两个虚点,s分别向其连流量a,b费用0的边这两个虚点向所有精灵连流量1费用为捕捉概率的边这两个虚点向所有精灵连流量1费用为捕捉概率的边这两个虚点向所有精灵连流量1费用为捕捉概率的边但是当两个精灵球流向一个点会出错,不是简单相加原创 2020-09-24 20:43:11 · 268 阅读 · 0 评论 -
HDU4406 GPA(拆边费用流)
还算是经典题目吧~其实就快想出来了,但是突然脑残了一下,很烦首先看到最后得分只和每门课程的pi有关首先看到最后得分只和每门课程的p_i有关首先看到最后得分只和每门课程的pi有关化简pi得式子得到化简p_i得式子得到化简pi得式子得到−3x2+600x−236001600\frac{-3x^2+600x-23600}{1600}1600−3x2+600x−23600打表发现分子是一个单增函数打表发现分子是一个单增函数打表发现分子是一个单增函数即f(x)=−3x2+600x−23600单增即f原创 2020-09-21 20:25:28 · 218 阅读 · 0 评论 -
loj雅礼集训 2017 Day8」价(最大权闭合子图变形)
说实话真是个神仙题,日常被网络流草推两篇我个人觉得讲的不错的文章详细版本简明版本然后当然我自己也要来一遍啦~一眼看去,像极了最大权闭合子图等等,但是药材是不收费的啊…而且药品的收益有正有负…限制条件是药品数等于药材数先说连边方案没有权值我们就人为加上一个权值下面定义p[i]p[i]p[i]为选择的收益(取反,因为负数的收益是正的)s向药品i连流量p[i]+inf的边s向药品i连流量p[i]+inf的边s向药品i连流量p[i]+inf的边药品i向对应的药材连inf的边药品i向对应原创 2020-09-08 22:18:14 · 262 阅读 · 0 评论 -
loj雅礼集训 2017 Day2」棋盘游戏(二分图博弈之最大匹配必须点)
之前看了下二分图博弈,觉得理解了这道板子题,我居然又困惑了好久!!真想抽自己~明显看出这是一张二分图,我们用i+ji+ji+j的奇偶性分类接下来就可以套二分图博弈的板子了(注意,下面是把先选择第一步棋子放哪里的人认为是先手,也就是Alice)Ⅰ.结论一:\color{Red}Ⅰ.结论一:Ⅰ.结论一:若先手选择的点可能不在最大匹配中必胜若先手选择的点可能不在最大匹配中必胜若先手选择的点可能不在最大匹配中必胜若先手选择的点一定在最大匹配中必败若先手选择的点一定在最大匹配中必败若先手选择的点一定在原创 2020-09-08 20:27:05 · 496 阅读 · 0 评论 -
P3705 [SDOI2017]新生舞会(01分数规划+费用流)
P3705 [SDOI2017]新生舞会见识到了大名鼎鼎的010101分数规划…显然这是个二分图,但是这个价值计算放置太头疼了....显然这是个二分图,但是这个价值计算放置太头疼了....显然这是个二分图,但是这个价值计算放置太头疼了....令∑ai∑bi=maxx令\frac{\sum a_i}{\sum b_i}=maxx令∑bi∑ai=maxx稍微变化一下maxx∗∑bi=∑aimaxx*\sum b_i=\sum{a_i}maxx∗∑bi=∑ai也就是∑(ai−maxx∗bi)=原创 2020-09-07 20:12:32 · 240 阅读 · 0 评论 -
P5771 [JSOI2016]反质数序列(隐含二分图)
P5771 [JSOI2016]反质数序列直接求不好求,但是容易发现这大概是一个二分图因为同奇偶性的相加一定不是质数,不同奇偶性数相加就不一定了所以按照奇偶构建二分图奇数放二分图左边,偶数放二分图右边若左边的iii和右边的jjj满足a[i]+a[j]a[i]+a[j]a[i]+a[j]是质数则iii向jjj连一条边那么这样连边这样可以求一个最大匹配…然而有啥用呢…最大匹配=最小点覆盖最大独立集=点数-最小点覆盖把最小点覆盖抽出来,剩下的数就是最大独立集,彼此不会形成质数值得一提的是,11原创 2020-09-07 19:29:12 · 265 阅读 · 0 评论 -
P3749 [六省联考2017]寿司餐厅(最大权闭合子图变形)
P3749 [六省联考2017]寿司餐厅最大权闭合子图有两种建图方式下面a[i]a_[i]a[i]表示寿司iii的编号第二种建图其实就是把di,i也当成一个寿司而已d_{i,i}也当成一个寿司而已di,i也当成一个寿司而已Ⅰ.对每个dij,每个寿司,每种编号都新建一个点\color{Red}{Ⅰ.对每个d_{ij},每个寿司,每种编号都新建一个点}Ⅰ.对每个dij,每个寿司,每种编号都新建一个点若dij为正,源点s连向dij,流量inf若d_{ij}为正,源点s连向d_{ij},流量inf原创 2020-09-07 17:33:31 · 319 阅读 · 0 评论 -
15北京赛区Kejin Game(最小割思维)
Kejin Game 首先在15年这是一道金牌题(可能现在不是了)难点在于,没有明确的提示是网络流,想到网络流不一定想到最小割,想到最小割还有会建模当然这个建模没有那么鬼畜,主要是思路历程要想对。决策1:直接购买某个点,不需要任何依赖\color{Red}决策1:直接购买某个点,不需要任何依赖决策1:直接购买某个点,不需要任何依赖决策2:对于某个无依赖的点,可以直接购买\color{Red}决策2:对于某个无依赖的点,可以直接购买决策2:对于某个无依赖的点,可以直接购买决策3:对于某条依赖边,原创 2020-09-04 10:04:00 · 323 阅读 · 0 评论 -
2015沈阳赛区Number Link(路径覆盖费用流)
Number Link说是神仙题也不为过好吧我承认我只是单纯的菜其实这题的建模真的那么难想吗?恐怕没有这题的实质还是路径覆盖,覆盖每个点且代价最小Ⅰ.如何处理奇数格子和偶数格子?\color{Red}Ⅰ.如何处理奇数格子和偶数格子?Ⅰ.如何处理奇数格子和偶数格子?很容易想到,奇数偶数形成一个二分图,那么奇数放左边,偶数放右边很容易想到,奇数偶数形成一个二分图,那么奇数放左边,偶数放右边很容易想到,奇数偶数形成一个二分图,那么奇数放左边,偶数放右边Ⅱ.每个点都要被覆盖,想到了什么?\color{原创 2020-09-03 21:12:14 · 284 阅读 · 1 评论 -
2017 ACM网络赛Smallest Minimum Cut(最小割的可行边或思维)
Smallest Minimum Cut先说说正解假设每条边的流量都是1,那么最小割=割的边数假设每条边的流量都是1,那么最小割=割的边数假设每条边的流量都是1,那么最小割=割的边数现在就是利用这个结论来找最小割的边数现在就是利用这个结论来找最小割的边数现在就是利用这个结论来找最小割的边数假设一开始的最大流是maxflow假设一开始的最大流是maxflow假设一开始的最大流是maxflow我把所有边的流量扩大x倍,嗯,最大流是x∗maxflow我把所有边的流量扩大x倍,嗯,最大流是x*maxflo原创 2020-09-03 16:51:00 · 309 阅读 · 0 评论 -
POJ2125Destroying The Graph(二分图最小割可行边)
我发现很多人关于输出方案那个地方解释都是错的,这不是误导别人吗!!!能ac又怎样啊…还有人说什么因为左边没满流,所以右边满流…第一问,求最小代价由于最后要把每条边都去掉由于最后要把每条边都去掉由于最后要把每条边都去掉去掉一条a−b的边,要么把a的出边去掉,要么把b的入边去掉去掉一条a-b的边,要么把a的出边去掉,要么把b的入边去掉去掉一条a−b的边,要么把a的出边去掉,要么把b的入边去掉可以发现这不就是二分图吗??!!可以发现这不就是二分图吗??!!可以发现这不就是二分图吗??!!我们把每个点原创 2020-08-31 23:34:22 · 319 阅读 · 0 评论 -
P3425 [POI2005]KOS-Dicing(最大流)
P3425 [POI2005]KOS-Dicing开始一直想着把每个点拆分为输和赢两个状态但还是不管用啊…一场比赛只能有一个人赢…没必要储存输的情况啊!!直接源点向比赛连边流量1比赛向两个人连边流量分别是1,代表只能有一个人赢然后二分一下就好了我真是太菜了,哎#include <bits/stdc++.h>using namespace std;#define id(x,y) (x-1)*m+yconst int maxn=2e5+10;const int inf=1e9原创 2020-08-30 21:53:35 · 276 阅读 · 0 评论 -
P4068 [SDOI2016]数字配对(隐含的二分图)
看到这题真是一头雾水且不说要求费用>0的时候流最大光是匹配就解决不了啊!!不管是网络流还是km都只能解决二分图\color{Red}不管是网络流还是km都只能解决二分图不管是网络流还是km都只能解决二分图所以要大胆相信这是个二分图所以要大胆相信这是个二分图所以要大胆相信这是个二分图因为匹配关系要求ai/aj=k(k为质数)因为匹配关系要求a_i/a_j=k(k为质数)因为匹配关系要求ai/aj=k(k为质数)ai=kaja_i=ka_jai=kaj所以把ai和aj分解质因数发现a原创 2020-08-30 21:48:03 · 239 阅读 · 0 评论 -
P4298 [CTSC2008]祭祀(dirworth+各种二分图定理)
大前提是DAG(有向无环图)大前提是DAG(有向无环图)大前提是DAG(有向无环图)链:一个点集中任意两点u,v存在u−v或v−u链:一个点集中任意两点u,v存在u-v或v-u链:一个点集中任意两点u,v存在u−v或v−u反链:一个点集中任意两点u,v不可达反链:一个点集中任意两点u,v不可达反链:一个点集中任意两点u,v不可达最小路径覆盖:使用最少的链去覆盖所有点,且每个点只被覆盖1次最小路径覆盖:使用最少的链去覆盖所有点,且每个点只被覆盖1次最小路径覆盖:使用最少的链去覆盖所有点,且每个点只被覆盖原创 2020-08-30 19:48:17 · 316 阅读 · 0 评论 -
P2469 [SDOI2010]星际竞速(费用流)
P2469 [SDOI2010]星际竞速(话说如果用上下界网络流就是智障题目了emm)源点到i费用0,流量1源点到i费用0,流量1源点到i费用0,流量1源点连向i′,费用为瞬移的费用,流量1源点连向i',费用为瞬移的费用,流量1源点连向i′,费用为瞬移的费用,流量1i′到汇点费用0,流量1i'到汇点费用0,流量1i′到汇点费用0,流量1若有u到v的边,则u′连向v,费用为花费,流量1若有u到v的边,则u'连向v,费用为花费,流量1若有u到v的边,则u′连向v,费用为花费,流量1比如现在有a−&g原创 2020-08-30 11:31:45 · 247 阅读 · 0 评论 -
上下界最小可行费用流[模板]
#include <bits/stdc++.h>using namespace std;const int maxn=2e5+10;const int inf=1e9;int n,m,ss,tt,s,t,s_,ans;struct edge{ int to,nxt,w,flow;}d[maxn]; int head[maxn],cnt=1;int in[maxn],dis[maxn],flow[maxn],pre[maxn],vis[maxn];void add(int u,i原创 2020-08-30 10:56:47 · 398 阅读 · 0 评论 -
P2402 奶牛隐藏(floyd+拆点二分网络流)
因为奶牛可以同时移动,所以费用流肯定不行的因为奶牛可以同时移动,所以费用流肯定不行的因为奶牛可以同时移动,所以费用流肯定不行的那似乎必须要二分答案了,要不然最大流没这个功能啊!!我们检测midmidmid时间内能否满足条件一开始肯定想到这样建图一开始肯定想到这样建图一开始肯定想到这样建图源点连向每个田,流量为一开始田的奶牛每个田连向汇点,流量为能容纳的奶牛,流向汇点代表住在这个牛棚两地的距离如果小于midmidmid,连边,边权infinfinf跑最大流检验满流即可但是有问题,比如1能到2,原创 2020-08-30 10:13:54 · 237 阅读 · 0 评论 -
P2172 [国家集训队]部落战争(最小路径覆盖或上下界网络流)
题目传送门很显然题目的意思是找到最少的路径覆盖所有点,且每个点只能被覆盖一次这是经典的最小路径覆盖问题设想一开始假设以每个点为起点,那么需要x条路径设想一开始假设以每个点为起点,那么需要x条路径设想一开始假设以每个点为起点,那么需要x条路径这个时候有a−>b的一条路径,那我们合并a,b,答案变为x−1这个时候有a->b的一条路径,那我们合并a,b,答案变为x-1这个时候有a−>b的一条路径,那我们合并a,b,答案变为x−1这个时候有b−>c的一条路径,那我们合并b,c答案变原创 2020-08-29 22:07:34 · 316 阅读 · 0 评论 -
网络流经典建模模型汇总[经典例题+讲解]
网络流模型多而且杂,从今天起做个笔记吧,很多模型是互通的CF277E Binary Tree on Plane题意:有一些点和一些带权有向边,求构成二叉树的最小权和题意:有一些点和一些带权有向边,求构成二叉树的最小权和题意:有一些点和一些带权有向边,求构成二叉树的最小权和模型\color{Red}模型模型难点在于无法处理只有一个父亲可至多有两个儿子我们可以拆点,把点iii拆分为iii和i+ni+ni+niii和源点相连流量为2,表示可以作为2个节点的父亲i+ni+ni+n和汇点相连流量为1,表原创 2020-08-28 20:41:21 · 1166 阅读 · 0 评论 -
最小割的可行边和必须边(以及最小割的构造)
最小割的可行边(u,v)Ⅰ.(u,v)满流Ⅰ.(u,v)满流Ⅰ.(u,v)满流Ⅱ.残量网络中u无法到达vⅡ.残量网络中u无法到达vⅡ.残量网络中u无法到达v如果u能到v,为什么要割掉这条边呢?割掉后还是连通的呀!!如果u能到v,为什么要割掉这条边呢?割掉后还是连通的呀!!如果u能到v,为什么要割掉这条边呢?割掉后还是连通的呀!!最小割的必须边(u,v)Ⅰ.(u,v)满流Ⅰ.(u,v)满流Ⅰ.(u,v)满流Ⅱ.残量网络中源点能到u,v能到汇点Ⅱ.残量网络中源点能到u,v能到汇点Ⅱ.残量网络中源点能原创 2020-08-27 20:58:10 · 1028 阅读 · 0 评论 -
P1646 [国家集训队]happiness(最小割模型)
首先是个最小割模型首先是个最小割模型首先是个最小割模型s向节点连一条选文科的价值(s表示文科)s向节点连一条选文科的价值(s表示文科)s向节点连一条选文科的价值(s表示文科)节点向t连一条选理科的价值(t表示理科)节点向t连一条选理科的价值(t表示理科)节点向t连一条选理科的价值(t表示理科)这样能满足选理科就割掉文科,选文科就割掉理科这样能满足选理科就割掉文科,选文科就割掉理科这样能满足选理科就割掉文科,选文科就割掉理科但是还有组合情况呢!!设文科组合价值l,理科组合价值r但是还有组合情况呢!!设原创 2020-08-27 17:58:21 · 290 阅读 · 0 评论 -
有源汇上下界最小流[模板]
这只是其中一种做法这只是其中一种做法这只是其中一种做法(我暂时还没有理解,只是先放个模板而已)首先还是根据下界来建图,原图源点s,汇点t首先还是根据下界来建图,原图源点s,汇点t首先还是根据下界来建图,原图源点s,汇点t然后因为流量守恒,新建超级源s1和超级汇t1向各个点连边然后因为流量守恒,新建超级源s1和超级汇t1向各个点连边然后因为流量守恒,新建超级源s1和超级汇t1向各个点连边跑一遍s1到t1的最大流(也就是可行流)跑一遍s1到t1的最大流(也就是可行流)跑一遍s1到t1的最大流(也就是可行流原创 2020-08-26 17:08:28 · 414 阅读 · 0 评论 -
【模板】有源汇上下界最大流
传送门hhhhhhhhhhhh题意文文要在nnn天内给mmm个女孩拍照第iii天可以给CiC_iCi个女孩拍照,可以给第jjj个女孩拍[L,R]张照片[L_,R]张照片[L,R]张照片而且在第iii天,拍照总数不能超过DiD_iDi且每个女孩最少拍gig_igi张照骗问nnn天可以最多拍多少照片现在假设你已经模糊理解了上下界最大流再往下看吧,主要阐述一下怎么写为了把n天联系起来,我们需要源点s1为了把n天联系起来,我们需要源点s1为了把n天联系起来,我们需要源点s1为了把m个女孩联原创 2020-08-26 15:58:24 · 264 阅读 · 0 评论 -
有源汇有上下界最大流【模板】loj116
loj的模板和无源汇相比就是多了源点s和汇点t和无源汇相比就是多了源点s和汇点t和无源汇相比就是多了源点s和汇点ts和t点不满足流入=流出,那我们就变化一下s和t点不满足流入=流出,那我们就变化一下s和t点不满足流入=流出,那我们就变化一下t到s连一条流量inf的边,这样构成循环流,s和t也满足流量守恒t到s连一条流量inf的边,这样构成循环流,s和t也满足流量守恒t到s连一条流量inf的边,这样构成循环流,s和t也满足流量守恒接下来就和无源汇可行流一样了,可行流就是t到s的流量(s−t的反向弧嘛)原创 2020-08-26 14:20:08 · 323 阅读 · 0 评论 -
无源汇有上下界可行流[loj模板]
loj模板题思想是,如果存在可行流,每条边必定至少有下界的流量思想是,如果存在可行流,每条边必定至少有下界的流量思想是,如果存在可行流,每条边必定至少有下界的流量那么直接用下届填充边的流量那么直接用下届填充边的流量那么直接用下届填充边的流量每条边的流量就变成了[0,up−down]每条边的流量就变成了[0,up-down]每条边的流量就变成了[0,up−down]此时有一些点流入的流量大于流出的流量,记作in[i]<0此时有一些点流入的流量大于流出的流量,记作in[i]<0此时有一些点流原创 2020-08-26 12:24:03 · 310 阅读 · 0 评论 -
P2057 [SHOI2007]善意的投票 / [JLOI2010]冠军调查
最小割模型每个小朋友只有0和1两种状态每个小朋友只有0和1两种状态每个小朋友只有0和1两种状态所以把0的小朋友连向源点,1的小朋友连向汇点所以把0的小朋友连向源点,1的小朋友连向汇点所以把0的小朋友连向源点,1的小朋友连向汇点求s到t的最小割(最大流)就是答案求s到t的最小割(最大流)就是答案求s到t的最小割(最大流)就是答案因为如果s到i的边被割掉,花费是1,相当于改变了i的立场到了汇点那个集合因为如果s到i的边被割掉,花费是1,相当于改变了i的立场到了汇点那个集合因为如果s到i的边被割掉,花费是原创 2020-08-22 16:53:41 · 242 阅读 · 0 评论 -
P2053 [SCOI2007]修车(逆向思维分层建图)
得先把题意转化一下,否则无法建图得先把题意转化一下,否则无法建图得先把题意转化一下,否则无法建图为啥没办法建图?因为每个师傅修每辆车的代价不是为啥没办法建图?因为每个师傅修每辆车的代价不是为啥没办法建图?因为每个师傅修每辆车的代价不是定值不是定值,就想办法变成定值。不是定值,就想办法变成定值。不是定值,就想办法变成定值。考虑某个师傅一次修车a1,a2,a3,a4考虑某个师傅一次修车a_1,a_2,a_3,a_4考虑某个师傅一次修车a1,a2,a3,a4那么a1的等待时间是a1那么a_1的等待原创 2020-08-22 11:41:05 · 301 阅读 · 0 评论 -
P1231 教辅的组成(三分图,细节)
一个明显的三分图一个明显的三分图一个明显的三分图练习册放在左边,书放在中间,答案放在右边练习册放在左边,书放在中间,答案放在右边练习册放在左边,书放在中间,答案放在右边裸的网络流裸的网络流裸的网络流但这样有问题,就是书在中间充当一个点但这样有问题,就是书在中间充当一个点但这样有问题,就是书在中间充当一个点一本书可以经过多次,这是不允许的一本书可以经过多次,这是不允许的一本书可以经过多次,这是不允许的所以拆点,让书和拆点后的书连一条流量1的边即可所以拆点,让书和拆点后的书连一条流量1的边即可所以拆点原创 2020-08-22 09:05:45 · 279 阅读 · 0 评论 -
P2764最小路径覆盖问题简单证明(附带洛谷模板题)
最小路径覆盖使用最少的点边不相交路径覆盖整个图叫做最小路径覆盖使用最少的点边不相交路径覆盖整个图叫做最小路径覆盖使用最少的点边不相交路径覆盖整个图叫做最小路径覆盖在一个DAG(有向无环图)中,最小路径覆盖=点数−最大匹配在一个DAG(有向无环图)中,最小路径覆盖=点数-最大匹配在一个DAG(有向无环图)中,最小路径覆盖=点数−最大匹配你可能奇怪,这又不是二分图,哪来的最大匹配??你可能奇怪,这又不是二分图,哪来的最大匹配??你可能奇怪,这又不是二分图,哪来的最大匹配??其实每一条边都是一个匹配规则原创 2020-08-21 11:35:41 · 425 阅读 · 0 评论 -
网络流24题(深海机器人问题 )
传送门基本上是裸的费用流,我真的好菜唯一需要注意的点是一条边的边权只能拿一次,但是可以走很多次唯一需要注意的点是一条边的边权只能拿一次,但是可以走很多次唯一需要注意的点是一条边的边权只能拿一次,但是可以走很多次怎么用网络流来限制?怎么用网络流来限制?怎么用网络流来限制?假如流量1费用为边权确实只能拿一次,但也只能走一次假如流量1费用为边权确实只能拿一次,但也只能走一次假如流量1费用为边权确实只能拿一次,但也只能走一次假如流量inf费用为0确实能走很多次,但是没有边权假如流量inf费用为0确实能走很原创 2020-08-20 11:15:00 · 259 阅读 · 0 评论 -
网络流24题(航空路线问题:拆点建图)
看了题解后:确实不难开始一直有个小问题,怎么表示从1到n再回到1开始一直有个小问题,怎么表示从1到n再回到1开始一直有个小问题,怎么表示从1到n再回到1实际上等价于1到n的两条不同路径这样就发现可以把1看成源点,n看成汇点,构建一条2为最大流的网络这样就发现可以把1看成源点,n看成汇点,构建一条2为最大流的网络这样就发现可以把1看成源点,n看成汇点,构建一条2为最大流的网络又突然发现每条边每个点只能走一次,当然1和n可以走两次又突然发现每条边每个点只能走一次,当然1和n可以走两次又突然发现每条边每个原创 2020-08-20 09:50:28 · 294 阅读 · 0 评论 -
网络流24题(汽车加油行驶问题:分层图好题)
不管是最短路还是网络流,都不好处理这个加油的过程发现到达每个点的状态有两个发现到达每个点的状态有两个发现到达每个点的状态有两个当前到达的花费和油量,这两个状态必须都要记录有点子DP的味道了,事实上确实可以DP,但比较麻烦图里面也有类似的问题--------分层图记录状态把图分为k+1层把图分为k+1层把图分为k+1层分别是当前油量剩下k,k−1,k−2,...0的时候分别是当前油量剩下k,k-1,k-2,...0的时候分别是当前油量剩下k,k−1,k−2,...0的时候这样一来连边就非常清晰这原创 2020-08-19 22:59:27 · 352 阅读 · 0 评论 -
网络流24题(星际转移问题)
这个问题的难点在于如何表示时间的流逝很容易想到源点是地球,然后中间一串的空间站,最后连向汇点月球很容易想到源点是地球,然后中间一串的空间站,最后连向汇点月球很容易想到源点是地球,然后中间一串的空间站,最后连向汇点月球空间站间各自连边,流量是飞船的容量空间站间各自连边,流量是飞船的容量空间站间各自连边,流量是飞船的容量这样跑最大流跑出来的其实是一天能到的最多的人,不能满足要求假如我们再开一条上面的链呢?也许就能表示两天的最大流了。假如我们再开一条上面的链呢?也许就能表示两天的最大流了。假如我们再开一条原创 2020-08-19 16:37:40 · 395 阅读 · 0 评论 -
网络流24题( 最长k可重区间集问题)
这个问题想通了也确实不难问题:把区间看成一个点不好处理点权,所以要转化为边权首先把区间拆成左端点和右端点,左右端点的边流量1,费用区间长度这个应该不难理解,每个区间只能选一次嘛,价值是长度问题:每个点不能有超过k个区间覆盖其实就是我们同一时间的流量不能大于k就是说,从源点到汇点流的过程中,任意时刻不能同时在k条路径上走否则就是同一个区域内选了k个区间,这是不满足的我选了某个区间,直到这个区间的右端点,我已经把流量分出1了这个时候流量还剩k-1,在达到那个右端点之前,我最多能选k-1个区间原创 2020-08-19 12:15:10 · 424 阅读 · 0 评论 -
网络流24题(数字梯形,好题)
自己几乎写出来了,不知道哪里wa了先将第三问,因为最简单先将第三问,因为最简单先将第三问,因为最简单第三问几乎没有什么限制。\color{Red}第三问几乎没有什么限制。第三问几乎没有什么限制。我们对每个点向左下和右下连边,流量为inf,边权为下个点的价值我们对每个点向左下和右下连边,流量为inf,边权为下个点的价值我们对每个点向左下和右下连边,流量为inf,边权为下个点的价值然后源点向第一行的点连边,流量1,因为第一个点只能取1次,边权为自己的权值然后源点向第一行的点连边,流量1,因为第一个点只能原创 2020-08-19 00:09:16 · 245 阅读 · 0 评论 -
网络流24题(软件补丁问题:简单的状压最短路)
传送门啊啊啊啊啊啊啊啊啊话说这题不需要网络流…是一道很简单的最短路状压每个位置上有没有病毒可以用01表示,所以当前状态可以表示为二进制每个位置上有没有病毒可以用01表示,所以当前状态可以表示为二进制每个位置上有没有病毒可以用01表示,所以当前状态可以表示为二进制每个节点二进制通过某些补丁通向另一个节点,这就是边每个节点二进制通过某些补丁通向另一个节点,这就是边每个节点二进制通过某些补丁通向另一个节点,这就是边所以可以用最短路来做所以可以用最短路来做所以可以用最短路来做但是由于边太多了,所以不加边原创 2020-08-18 22:05:07 · 242 阅读 · 0 评论 -
网络流24题(P2774 方格取数问题)
这题比较容易看出是最小割问题,但是建图有点棘手这题比较容易看出是最小割问题,但是建图有点棘手这题比较容易看出是最小割问题,但是建图有点棘手如果我们把格子按照横坐标+纵坐标的奇偶性分为两类可以发现每类之间怎么选都没关系,我们把这两类叫做白点和黑点选了一个方格后,上下左右都不能选了,这个可以用最小割表示.我们可以让源点s向白点连一条流量为自己价值的边我们可以让源点s向白点连一条流量为自己价值的边我们可以让源点s向白点连一条流量为自己价值的边这个方格向所有互斥的黑点连一条流量inf的边这个方格向所有互斥原创 2020-08-18 11:42:52 · 294 阅读 · 0 评论 -
网络流24题(试题库问题)
比较模板的网络流匹配了明显是拿试卷去匹配类型明显是拿试卷去匹配类型明显是拿试卷去匹配类型由于一张试卷只能贡献给一种类型,所以s向试卷连流量1的边来限制一下由于一张试卷只能贡献给一种类型,所以s向试卷连流量1的边来限制一下由于一张试卷只能贡献给一种类型,所以s向试卷连流量1的边来限制一下每张试卷可以流入一些类型,向对应的类型建边,流量1每张试卷可以流入一些类型,向对应的类型建边,流量1每张试卷可以流入一些类型,向对应的类型建边,流量1每种类型需要被匹配x次,所以类型向t连边,流量为x每种类型需要被匹配原创 2020-08-18 10:32:04 · 327 阅读 · 0 评论