网络流
C202044zxy
这个作者很懒,什么都没留下…
展开
-
[JSOI2016]反质数序列
一、题目点此看题二、解法111不可能多次出现,那么我们只需要考虑为奇数的质数了,由于一个质数是由一个奇数和一个偶数组成,故分成两部分,把它当二分图来看待,中间连的边就表示这两个相加为质数。把中间边设置为infinfinf,其他边设为111,然后跑最大流,因为最大流等于最小割,然而这里如果存在起终点联通就是存在两个求和为质数,所以我们需要求最小割,最后的答案为n−n-n−最小割。还有很重要的一点就是要用当前弧优化,这道题卡朴素dinicdinicdinic。#include <cstdio&原创 2020-05-30 21:53:55 · 158 阅读 · 0 评论 -
[SDOI2016]墙上的句子
一、题目点此看题二、解法没有什么好的做法,那就考虑网络流把,首先可以单独处理回文串的情况(贡献为111),然后把最少有多少个单词,满足翻转后依然是单词转化成最小割。先讲一下建图方法,再解释原因,我们规定字典序小的是正串,字典序大的是反串:把可能出现的正串和反串分别建一个点,把他们之间连一条容量为222的边,表示断开这条边花费222块钱,后面我们要保证断开边意味着正反串均会出现。把一定会...原创 2020-03-09 22:22:48 · 285 阅读 · 0 评论 -
[BZOJ 4842] Delight for a Cat
一、题目二、解法考虑网络流,图这样建:总结一下建图方法:S′S'S′向SSS连边,容量为RRR,边权为000(注意,这一部分在图上没有画出来)源点连接[1,k][1,k][1,k]中的每个点,容量为RRR,边权为000。点iii连点i+1i+1i+1(没有连TTT),容量为R−LR-LR−L,边权为000。点iii连点i+ki+ki+k(没有连TTT),容量为R−LR-LR−L,...原创 2020-01-21 21:18:33 · 228 阅读 · 0 评论 -
CF786E ALT
一、题目点此看题二、解法可以考虑网络流,建图方法如下:源点连每一个人,容量为111。人连对应路径上的所有边,容量为infinfinf。所有边连汇点,容量为111。然后我们在建好的图上跑最小割,因为人连路径的边是砍不动的,我们只能砍源点到人或者边到汇点的边,这个时候就交给电脑去决策就行了,显然上述建图方法满足题意。还有一个问题就是第二个方法建出的边会很多,我们可以用线段树优化建图...原创 2020-01-21 20:51:11 · 176 阅读 · 0 评论 -
无限之环
一、题目点此看题二、解法真的是神题,我肝了半天才肝出来。我们应该如何理解这个使棋盘上不存在漏水的地方的含义?可以把这个矩阵黑白染色,让源点连白点,黑点连汇点,所求得的最大流×2\times 2×2需要等于接头的个数。本题要求操作次数最小,就可以理解为最小费用最大流。对于矩阵中的每个点我们建555个点,分别表示四个方向的接头和控制流量的中心点,难点在于旋转如何建图,我们考虑其内部的变化。...原创 2019-12-15 18:26:05 · 266 阅读 · 0 评论 -
[JSOI2009]球队收益
一、题目点此看题二、解法先不考虑费用,先把最初始的图建出来,我们考虑把比赛和球队都反映在图中:汇点连每一场比赛,每场比赛连比赛的两方,边权为000,容量都为111。每一个球队连汇点,容量为该球队最多能赢的次数。我们先假设所有球队都是输的,那么给一个单位的流就代表了多赢一次,少输一个,假设我们得到了现在赢场次和输场次a,ba,ba,b,要考虑变化量,推一下柿子:Δ=(a+1)2∗c...原创 2019-12-14 22:33:47 · 110 阅读 · 0 评论 -
BZOJ1283 序列
一、题目点此看题Description给出一个长度为 的正整数序列Ci,求一个子序列,使得原序列中任意长度为 的子串中被选出的元素不超过K(K,M<=100) 个,并且选出的元素之和最大。Input第1行三个数N,m,k。 接下来N行,每行一个字符串表示Ci。Output最大和。二、解法...原创 2019-12-14 19:58:21 · 267 阅读 · 0 评论 -
[BJOI2012]连连看
一、题目点此看题二、解法这道题没有什么可以使它成为二分图的条件,那我们就暴力拆点,每一个数拆成两个,图这样建:源点连xxx(第一个点),边权为000,容量为111。x′x'x′(第二个点)连汇点,边权为000,容量为111。每一对符合条件的点应该xix_ixi连xj′x'_jxj′,xi′x'_ixi′连xjx_jxj,边权为i+ji+ji+j,容量为111。为什么建图的...原创 2019-12-14 16:26:35 · 146 阅读 · 0 评论 -
小R的烦恼
一、题目二、解法可以考虑把每一天濒死的人和活人拆成两个点x,x′x,x'x,x′,图这样建:汇点连每一天的xxx,花费为000,容量为a[i]a[i]a[i],表示每天都有a[i]a[i]a[i]个人进入濒死状态。每一天的x′x'x′连汇点,花费为000,容量为a[i]a[i]a[i],表示每天要凑齐这么多人去做研究。汇点连学校,花费为ppp,容量为lll,每个学校再连接每一个x′x...原创 2019-12-14 15:09:49 · 119 阅读 · 0 评论 -
[SCOI2007]修车
一、题目点此看题二、解法这道题和普通的费用流略有不同,一个工人可以匹配若干辆车,观察数据范围:2<=M<=9,1<=N<=60,发现mmm出奇的小,可以考虑拆点,把一个工人拆成nnn个,表示在不同时间段修车的不同工人,现在考虑花费的计算,可以考虑费用提前计算的思想,也就是算一个人的时间是加上后面会等待的人的时间,那如果iii车交给jjj工人的kkk状态洗,那花费就是T...原创 2019-12-13 21:42:49 · 123 阅读 · 0 评论 -
[SDOI2017]新生舞会
一、题目点此看题二、解法原题要我们求的是C=∑i=1nai∑i=1nbiC=\frac{\sum_{i=1}^{n} a_i}{\sum_{i=1}^{n}b_i}C=∑i=1nbi∑i=1nai,我们尝试对原式进行等价变化:∑i=1nai=C×∑i=1nbi⇒∑i=1nai−C×bi=0\sum_{i=1}^n a_i=C\times \sum_{i=1}^n b_i\Righ...原创 2019-12-13 20:03:02 · 159 阅读 · 0 评论 -
[SDOI2016]数字配对
一、题目点此看题二、解法考虑这个条件ai是aj的倍数,且ai/aj是一个质数,满足这个条件就必须要满足下面两个条件:aia_iai是aja_jaj的倍数,好像是废话 。设一个数质因数分解后的指数之和为cntcntcnt,则cnti=cntj+1cnt_i=cnt_j+1cnti=cntj+1。第二个条件很重要,它告诉我们可以把数字的cntcntcnt奇偶划分,就能得到一个二...原创 2019-12-13 14:32:33 · 122 阅读 · 0 评论 -
Minimum Cost
一、题目题目描述有nnn个商店,mmm个供应商,kkk个商品,先给定一个nknknk的矩阵,表示商店对商品的需求量。再给定一个mkmkmk的矩阵,表示供应商对每件商品的存货量。最后给kkk个nmnmnm的矩阵,表示对于每一个商品,每个供应商运输到商店的花费,如果有解,输出最小花费,如果供不应求,输出−1-1−1。数据范围1≤n,m,k≤501\leq n,m,k\leq501≤n,m,k≤...原创 2019-12-12 20:57:47 · 194 阅读 · 0 评论 -
[SDOI2011]工作安排
一、题目点此看题二、解法这道题的难点是分段函数,可以考虑拆边,图是这样建的:把所有工人和原点连边,边数就是分段函数的段数,由于本题保证了花费递增,我们可以把分段函数建成边,容量为函数长度,花费为增长量,一定可以保证函数的先后顺序。把所有的产品类型和汇点连边,花费为000,容量就是需求量。把工人和所有的产品连边,花费为000,容量infinfinf。然后对建好的图跑费用流,直接输出...原创 2019-12-12 19:57:44 · 108 阅读 · 0 评论 -
HDU1533 Going Home
一、题目题目描述给定一个n×mn\times mn×m的矩阵,里面’m’表示人,'H’表示房间,房间数和人数相等,每个人需要住进一个房间,问最小的行走距离综合。数据范围1≤n,m,s≤1001\leq n,m,s\leq 1001≤n,m,s≤100,sss为人数。二、解法费用流裸题,图是这样建的:每个人连原点,边权为000,容量为111。每个房间连汇点,边权为000,容量为11...原创 2019-12-12 17:15:46 · 153 阅读 · 0 评论 -
[SCOI2012]奇怪的游戏
一、题目点此看题二、解法给定的矩形肯定是一个二分图,我们先对其黑白染色,记n1n_1n1为白点数量,n2n_2n2为黑点数量,s1s_1s1为白点权值和,s2s_2s2为黑点权值和,首先有一个柿子,设xxx为最后所有数字的值,则:x×n1−s1=x×n2−s2⇒x=(s1−s2)÷(n1−n2)x\times n_1-s_1=x\times n_2-s_2\Rightarrow x...原创 2019-12-12 12:56:01 · 184 阅读 · 0 评论 -
HDU6598 Harmonious Army
一、题目题目描述有nnn个人,mmm个关系,每个关系中包含u,v,a,b,cu,v,a,b,cu,v,a,b,c,表示u,vu,vu,v两个人,如果都选000有aaa的贡献,如果都选111有ccc的贡献,否则有bbb的贡献,求最大的贡献。数据范围n≤500,m≤104,1≤u,v≤n,u≠v,1≤a,c≤4×106,b=a/4+c/3n≤500,m≤10^4,1≤u,v≤n,u≠v,1≤a...原创 2019-12-11 20:18:46 · 180 阅读 · 0 评论 -
[国家集训队]圈地计划
一、题目点此看题二、解法这道题跟happiness很像,图长这样:SYDevil想出来的方法%%%。我们把矩形上的点红黑染色,如果是黑色,就把商业区(0)连sss,工业区(1)连ttt,如果是红色的话就反过来,然后再在中间建双向边,容量为相同的花费之和。可以分类讨论这个图的情况,发现答案为sum−flowsum-flowsum−flow(总和-最小割),跑一遍最大流即可。#incl...原创 2019-12-11 18:17:28 · 218 阅读 · 0 评论 -
HDU6582 Path
一、题目题目描述给定一张nnn个点mmm条边的图,每条边都有边权,问最小删去边的花费使得最短路变长。数据范围1≤T≤10,1≤n,m≤10000,1≤x,y≤n,1≤c≤1091≤T≤10,1≤n,m≤10000,1≤x,y≤n,1≤c≤10^91≤T≤10,1≤n,m≤10000,1≤x,y≤n,1≤c≤109二、解法先找出所有在最短路上的边,然后把这些边加入一个新图,我们现在要求这...原创 2019-12-11 16:33:30 · 110 阅读 · 0 评论 -
[国家集训队]happiness
一、题目点此看题二、解法这道题的正解是 总贡献-最小割,可能是题目要求最大值我们就用最小割去减 −−SYDeive--\text{SYDeive}−−SYDeive考虑建图,模型大概长这样:我们把每个点连sss,容量为文科的贡献,连ttt,容量为理科的贡献。考虑两人相同的新贡献,我们新建文科点和理科点,把文科点连sss,容量为文科相同的贡献,把理科点连ttt,容量为理科相同的贡献...原创 2019-12-11 15:37:26 · 323 阅读 · 0 评论 -
[HNOI2013]切糕
一、题目点此看题二、解法其实题目就提示你这是一道最小割的题目,首先可以把没有限制的图建出来。(x,y)(x,y)(x,y)上的点看成[0,r][0,r][0,r]这r+1r+1r+1个点,每两个相邻点连边,容量为给定的值。(x,y,0)(x,y,0)(x,y,0)连源点,(x,y,r)(x,y,r)(x,y,r)连汇点,容量为infinfinf,表示这条边砍不掉。发现这样建图答案就...原创 2019-12-11 14:25:44 · 152 阅读 · 0 评论 -
[ZJOI2009]狼和羊的故事
一、题目点此看题二、解法考査网络流的建图,要把羊和狼分割开来,很容易想到最小割问题,下面讲一下建图的方法:所有的羊连向一个超级原创 2019-12-10 19:15:47 · 108 阅读 · 0 评论 -
[SDOI2013]费用流
一、题目点此看题二、解法贪心地看,我们直接把所有ppp都给到容量用的最多的边,然后我们的目的就是找到一个最大流中流量最多的边的最小值,可以考虑二分这个值,然后给每个点限流,重新建边时把初始的流量和二分的这个值去最小值,然后重新算一遍最大流,时间复杂度O(n2mlog)O(n^2m\log)O(n2mlog)。这道题必须要用当前弧优化,要不然会TTT死,代码中会有注释。#include ...原创 2019-12-10 17:14:21 · 125 阅读 · 0 评论 -
[SDOI2015]星际战争
一、题目点此看题二、解法可以把激光看成XXX部,把机器人看成YYY部,考虑二分答案后建图。建一个起点,把所有的激光连向起点,容量为t×b[i]t\times b[i]t×b[i],也就是把伤害都给激光,然后让它去伤害机器人。建一个终点,把所有机器人连向终点,容量为a[i]a[i]a[i],表示一个机器人能最多接受b[i]b[i]b[i]的伤害,检查受到的伤害是否等于a[i]a[i]a[...原创 2019-12-10 15:12:24 · 129 阅读 · 0 评论 -
[学习笔记]网络流
最大流直接转载大佬的博客里面已经讲的很清楚了,我就说一下我的理解吧。其实网络流的本质就是找增广路径,但是为了保证复杂度,我们要使用一些奇奇怪怪的方法,比如建反向边,下面我举出一个例子。假如不幸的一开始选到了s−2−1−ts-2-1-ts−2−1−t这条路,然后我们就发现我们跑不动了,为了让计算机有反悔的机会,我们多建一个反向边,当消耗了正向边的容量后反向边的容量就增加,然后我们就可以乱增...原创 2019-12-09 21:41:00 · 125 阅读 · 0 评论