
图论----网络流
长沙橘子猫
这个作者很懒,什么都没留下…
展开
-
LA 2957 Bring Them There 最大流
LA 2957题意:有n个点,你的任务是用最短时间把k个计算机从 s 运送到 t ,每个计算机需要一艘飞船运输,有m条双向边,每条边一次只能允许一艘飞船通过,且通过的时间均为1天,求最短时间以及每天的运输情况。思路:假设答案day是1,把每个点拆成day+1个点,ui表示第 i 天之后的u点,对于边a<-->b,新建边ai-->bi+1和bi-->ai+1,流量为1...原创 2018-07-16 17:40:30 · 262 阅读 · 0 评论 -
2019 Multi-University Training Contest 3
好吧,还是决定写题解了,今天开局搞05,然后自闭一小时,此时队友签到还没成功…赶紧把06切了,然后放手搞02,和09,双重自闭…队友还没搞定07,赶紧去秒了07,搞着搞着突然想玩一波玄学,09费用流建图只加部分的边,然后就过了…接下来搞04,想明白后就是个二分+线段树优化dp,cf上老套路了,一发切了,最后终于是取得了湖南省内第一,庆祝一下下1002 Blow up the city待补10...原创 2019-07-29 20:28:16 · 720 阅读 · 2 评论 -
2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) 题解
题目链接:点击传送B.Coprime Integers最入门的莫比乌斯反演,没啥好讲的,推荐入门博客 莫比乌斯反演#include<bits/stdc++.h>#define ll long longusing namespace std;const int maxn = 1e7 + 10;int vis[maxn], pri[maxn], mu[maxn], cnt...原创 2019-07-05 00:31:19 · 1144 阅读 · 0 评论 -
Educational Codeforces Round 67 DEG 题解
D. Subarray Sorting题意:给你两个数组a,b,你可以在第一个数组里面任意取一些区间进行排序,问是否能够把数组a变成数组b。思路:我们用一颗最小值线段树存 a 数组,枚举 b 数组,假设当前枚举到了 bi,我们先找到 a 数组中第一个等于 bi 的值的下标 k,然后在线段树中查询[1, k]最小值,如果最小值 < bi,就说明,k 前面有比 ak 小的数导致 ak ...原创 2019-07-01 17:34:51 · 439 阅读 · 6 评论 -
牛客练习赛43 题解
这场打的有点梦游......B.Tachibana Kanade Loves Probability思路:我们模拟一下分数除法 a/b 发现是不停的 :a*10,a%=b,然后根据这点直接快速幂求出第k1为数是多少就行。#include<bits/stdc++.h>#define ll long longusing namespace std;ll ksm(ll r...原创 2019-04-07 02:32:58 · 330 阅读 · 0 评论 -
2018-2019 ACM-ICPC Brazil Subregional Programming Contest 寒假自训第六场
今天终于没爆0了,但是速度慢了,漏了C题付队的题解B. Marbles题意:有n对数(xi, yi),每次操作可以选择一个正数u,使得这对数变成(xi-u, yi)或(xi-u, yi-u)或(xi, yi-u),两个玩家轮流操作一次,谁先把一对数变成(0,0)谁赢。思路:不是把所有数都变成(0,0)才赢,所以不是nim博弈,因此直接写没法写,但是我们转化一下,如果我把一对数变成了...原创 2019-02-03 20:38:37 · 1069 阅读 · 0 评论 -
2017 icpc 青岛站 K. Our Journey of Xian Ends 最小费用流
K. Our Journey of Xian Ends题意:这英文题真是比六级阅读还难读,给你一个无向图,求西安-->上海-->青岛-->上海的最短路,每个城市有一个机场,但是上海有两个机场 虹桥机场和浦东机场,上海这两个机场可以互达(你可以从西安到浦东,然后再从虹桥到青岛,距离为0),每个机场只能下飞机和上飞机一次,且最后必须要到达上海的浦东以及过程中不能从浦东出发去任何地...原创 2018-10-24 21:56:23 · 479 阅读 · 1 评论 -
2018 icpc沈阳站网络赛 F. Fantastic Graph 上下界网络流
题目题意:给出左边x点的个数,右边y点的个数,给出上下边界l,r,接下来给出k条边,每条边可为左边的u点加度数1,为右边的v点加度数1,问是否可以从k条边中选出一些边,使得左右两边所有的点的度数在区间[ l , r ]内。思路:上下界可行流裸题,引进源点s,汇点t,超级源点ss,超级汇点tt,先把题目给出的边连接起来,容量都为1,s依次连接左边n个点,容量为r-l,s再依次连接tt,容量为...原创 2018-09-15 09:23:59 · 424 阅读 · 0 评论 -
hdu 6437 Videos 最大费用流
hdu 6437最后一场多校最后一题,推第七题的公式推得石乐志,搞的没时间看这个题,多校前几分钟又被六级给暴击,双重自闭....首先只有最小费用流算法, 因此这题要把费用即快乐值设为负数,这样最小的费用即最大费用,把每个电影i 拆为两个点 i,i+m,从 i 连接一条边到 i+m,流量为1 表示一个电影只能被一个人看,费用为负的快乐值,从s0连接一条边到 i,费用为0流量为1,再从i+m连...原创 2018-08-23 10:09:12 · 301 阅读 · 0 评论 -
LA 4597 Inspection 网络流路径覆盖
LA 4597题意:给一个有向图,求最小路径覆盖并且输出路径,不过走过的路径可以重复走。思想是借鉴这位大佬:UVA1440 有下界的最小流,这位大佬写的相当详细,赞,首先设d[ i ]为节点 i 的入度-出度的值,如果路径不可重复走,那么最小路径覆盖就是所有d[ i ]为负数的和sum,不过路径是可以重复走的,那么有些边在不可重复走中只能走一次,但是在这题中可以走多次,这些边满足性质:起点...原创 2018-07-29 16:40:03 · 281 阅读 · 0 评论 -
UVA 11248 Frequency Hopping 最大流和最小割
UVA 11248.题意:给定一个有向网络,每条边均有一个容量。问是否存在一个从点1到点N,流量为C的流,如果不存在,是否可以恰好修改一条弧的容量,使得存在这样的流。思路:先求一次最大流,如果中途就大于等于C或者结尾大于等于C,就直接输出,如果小于C,就需要修改最小割里的弧,依次把最小割里的弧加上C再求最大流与C去比较就行了。#include<cstdio>#include<c...原创 2018-07-14 21:25:20 · 392 阅读 · 0 评论 -
LA 3268 Jamie's Contact Groups 最大流+二分
LA 3268题意:有n个人和m个组。一个人可能属于很多组。现要求每个人只能选择一个组,求人数最多的组中的最少人数。思路:从源点S连接一条弧到n个人,流量为1,代表每个人只能由一个选择,然后把每个人连接一条弧到这个人所属的组,流量为1,然后二分答案flow,把每个组引出一条弧到汇点T,流量为flow,求最大流,如果最大流等于n,表示当前最少人数是小于或等于flow的,把flow减少,否则说...原创 2018-07-19 20:56:04 · 565 阅读 · 0 评论 -
UVA 10806 Dijkstra, Dijkstra 最小费用流
UVA 10806题意:给出一个带有n个节点的带权无向图,找到从起点1到终点n的最短往返路,不能重复走同一条边。思路:引出一条源点S连接到起点,费用为0,流量为2,再从终点连接到汇点T,费用为0,流量为2,然后把题目给出的边的流量设为1,费用设为边权,方向为双向,然后从S到T的最小费用流就是最短往返路,如果总流量不等于2,说明没有往返路。#include<cstdio>...原创 2018-07-19 20:47:08 · 307 阅读 · 0 评论 -
UVA 11613 Acme Corporation 最小费用流
UVA 11613题意:给出 I 和M个月和 的以下信息:mi, ni, pi, si, Ei,表示单位生产成本,最大产量,销售单价,当月最大销量,以及最大存储时间,当Ei=1时,最多只能存储到下个月,否则报废,其中 I 表示每单位元素存储一个月花费的代价。求最大利润。思路:将每个月建立两个点 ai,bi,从源点s连接到ai,容量为最大产量,费用为单位生产成本,从bi连接到汇点T,容量为最...原创 2018-07-18 21:20:55 · 203 阅读 · 0 评论 -
LA 2531 The K-League 最大流
LA 2531题意:有n个队伍比赛,给出n个队伍赢的次数和输的次数,然后再输入每个队伍还需要的比赛次数,确定所有可能得冠军的球队(获胜场数最多的得冠军,可以并列)思路:假设a可以拿冠军,先求出a获胜的总次数tot,把每两个队伍的比赛(u,v)看成节点,从源点S连接一条弧到比赛节点,容量为比赛次数(注意排除0次比赛),然后把比赛(u,v)分别连接一条弧到到u,v,容量为 tot - win(...原创 2018-07-18 21:10:19 · 259 阅读 · 0 评论 -
2019CCPC秦皇岛赛区(重现赛)AEK 题解
#include<bits/stdc++.h>#define ll long longusing namespace std;const int maxn = 100 * 100 * 4 + 210, inf = 1e9;struct Edge{ int from,to,cap,flow;};struct Dinic{ int n,m,s,t; vector<...原创 2019-09-28 22:04:33 · 788 阅读 · 2 评论