
费用流
C202044zxy
这个作者很懒,什么都没留下…
展开
-
无限之环
一、题目点此看题二、解法真的是神题,我肝了半天才肝出来。我们应该如何理解这个使棋盘上不存在漏水的地方的含义?可以把这个矩阵黑白染色,让源点连白点,黑点连汇点,所求得的最大流×2\times 2×2需要等于接头的个数。本题要求操作次数最小,就可以理解为最小费用最大流。对于矩阵中的每个点我们建555个点,分别表示四个方向的接头和控制流量的中心点,难点在于旋转如何建图,我们考虑其内部的变化。...原创 2019-12-15 18:26:05 · 293 阅读 · 0 评论 -
[JSOI2009]球队收益
一、题目点此看题二、解法先不考虑费用,先把最初始的图建出来,我们考虑把比赛和球队都反映在图中:汇点连每一场比赛,每场比赛连比赛的两方,边权为000,容量都为111。每一个球队连汇点,容量为该球队最多能赢的次数。我们先假设所有球队都是输的,那么给一个单位的流就代表了多赢一次,少输一个,假设我们得到了现在赢场次和输场次a,ba,ba,b,要考虑变化量,推一下柿子:Δ=(a+1)2∗c...原创 2019-12-14 22:33:47 · 132 阅读 · 0 评论 -
BZOJ1283 序列
一、题目点此看题Description给出一个长度为 的正整数序列Ci,求一个子序列,使得原序列中任意长度为 的子串中被选出的元素不超过K(K,M<=100) 个,并且选出的元素之和最大。Input第1行三个数N,m,k。 接下来N行,每行一个字符串表示Ci。Output最大和。二、解法...原创 2019-12-14 19:58:21 · 296 阅读 · 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 · 178 阅读 · 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 · 143 阅读 · 0 评论 -
[SCOI2007]修车
一、题目点此看题二、解法这道题和普通的费用流略有不同,一个工人可以匹配若干辆车,观察数据范围:2<=M<=9,1<=N<=60,发现mmm出奇的小,可以考虑拆点,把一个工人拆成nnn个,表示在不同时间段修车的不同工人,现在考虑花费的计算,可以考虑费用提前计算的思想,也就是算一个人的时间是加上后面会等待的人的时间,那如果iii车交给jjj工人的kkk状态洗,那花费就是T...原创 2019-12-13 21:42:49 · 147 阅读 · 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 · 185 阅读 · 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 · 145 阅读 · 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 · 226 阅读 · 0 评论 -
[SDOI2011]工作安排
一、题目点此看题二、解法这道题的难点是分段函数,可以考虑拆边,图是这样建的:把所有工人和原点连边,边数就是分段函数的段数,由于本题保证了花费递增,我们可以把分段函数建成边,容量为函数长度,花费为增长量,一定可以保证函数的先后顺序。把所有的产品类型和汇点连边,花费为000,容量就是需求量。把工人和所有的产品连边,花费为000,容量infinfinf。然后对建好的图跑费用流,直接输出...原创 2019-12-12 19:57:44 · 135 阅读 · 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 · 168 阅读 · 0 评论