Day5网络流
算法
无源汇上下界可行流

先强制流过l的流量
从s到每个正权点连流量为l的流量
从每个负权点向t连-l的流量
如果容量为0,则不连边
有源汇上下界最大流
去掉下界

先求出可行流
再求S到T的最大流
有源汇上下界最小流

直接应用
poj1149

我的思路
建一个点S,到每个顾客,连INF的边,每个顾客
正解
1.用分层图,建n*m个点
2.直接从S向每个人连边,记录下每个猪圈打开的人的先后顺寻,先来的人向后来的人连边
BZOJ2406

Solution



路径覆盖模型
路径覆盖无交集
链覆盖可以有交集

起点,终点的度数都为1
最小化$n-\sum{d}$=最大化$\sum{d}$d为入度
把原图的点都进行拆点
路径覆盖:
若i,j有边,则从i到j'连边
所有边的边权均为1
链覆盖:
用floyd求传递闭包
从一个点向它能到达的点都连边
用最小流解决

链覆盖把每个点的上限改为INF
魔术球问题

Solution

CTSC2006

最小链覆盖

Dilworth定理

例如<=号
自反性:x<=x
反对称性:x<=y , y<=x —>x==y
传递性:x<=y,y<=z—>x<=z
(<,>不满足偏序关系,不满足第二条性质)
(DAG满足偏序关系,有向图不满足)

反链:两点之间不能相互到达
定理:

TJOI2016XX数学

暴力
拆成n*m个点,每个点的权值下界为给定的权值,上界为INF
优化

对所有点选一条点权和最大的
从左下到右上DP
时间分层

网络流24题星际XXXX


当最大流为k的时候结束

[HNOI2007]紧急疏散


回路限制
POI2010

solution

给每条边定向&&判断是否连通
每条边定向后会使一个点的入度加1,会使一个点的入度减1
先随便定向并保留一次反向机会

可以把每次反向看成一条权值为2的增广路

把点权预先除以二,验证图是否能满流

BZOJ4215

对一个网格进行黑白染色,搞成二分图
用流量为2的边去限制度数为2
如果图满流,那么就存在所有蛇都构成环的方案
找方案的时候看哪些边满流了
如果蛇不构成环,
对于边界上的点,设置其权值为[1,2],对于非边界上的点,其权值为[2,2]
求最大流

最大权闭合子图
模型

所有与S相连的点视为不选择
所有与T相连的点视为选择
有环的情况可以不缩点,(缩点也可以)
TJOI2015 线性代数

Bij*Ai*Aj
Ci*Ai

COdefoeceXXX

若不考虑限制条件

限制条件

从S向新加的点连Wi边
从新加的点向中间的三个点连INF的边
CEOI?



转化为最小割
BZOJ3774



平面图对偶图

狼抓兔子

NOI2010海拔


相当于S和T之前求最小割

距离限制

HNOI拍照


变形


CTSC2009

根据曼哈顿距离的性质
分别最优化横纵坐标


Hall定理

k-完备匹配

首先,贪心的找最大匹配然后删去是显然不对的

证明
想要证明k-正则二分图,只需证明k-1是否存在
假设不存在
左侧的m*k条边若分给右侧<m条边,则有一条边的度数不为1
做法

若原图不存在k-正则二分图则无解
POI2009 Lyz


tag
【CERC2016】Bipartite Blanket
solution

证明



时间复杂度
$2^n*n+2^n*log n$
Day5网络流的更多相关文章
- plain framework 1 网络流 缓存数据详解
网络流是什么?为什么网络流中需要存在缓存数据?为什么PF中要采用缓存网络数据的机制?带着这几个疑问,让我们好好详细的了解一下在网络数据交互中我们容易忽视以及薄弱的一块.该部分为PF现有的网络流模型,但 ...
- 网络流模板 NetworkFlow
身边的小伙伴们都在愉快地刷网络流,我也来写一发模板好了. Network Flow - Maximum Flow Time Limit : 1 sec, Memory Limit : 65536 KB ...
- COGS732. [网络流24题] 试题库
«问题描述:假设一个试题库中有n道试题.每道试题都标明了所属类别.同一道题可能有多个类别属性.现要从题库中抽取m 道题组成试卷.并要求试卷包含指定类型的试题.试设计一个满足要求的组卷算法.«编程任务: ...
- ACM/ICPC 之 有流量上下界的网络流-Dinic(可做模板)(POJ2396)
//有流量上下界的网络流 //Time:47Ms Memory:1788K #include<iostream> #include<cstring> #include<c ...
- day5
作业 作业需求: 模拟实现一个ATM + 购物商城程序 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 每月22号出账单,每月10号为还款日,过期 ...
- BZOJ 3144 [Hnoi2013]切糕 ——网络流
[题目分析] 网络流好题! 从割的方面来考虑问题往往会得到简化. 当割掉i,j,k时,必定附近的要割在k-D到k+D上. 所以只需要建两条inf的边来强制,如果割不掉强制范围内的时候,原来的边一定会换 ...
- bzoj3572又TM是网络流
= =我承认我写网络流写疯了 = =我承认前面几篇博文都是扯淡,我写的是垃圾dinic(根本不叫dinic) = =我承认这道题我调了半天 = =我承认我这道题一开始是T的,后来换上真正的dinic才 ...
- hdu3549还是网络流
最后一次训练模板(比较熟练了) 接下来训练网络流的建图 #include <cstdio> #define INF 2147483647 int n,m,ans,x,y,z,M,h,t,T ...
- 二分图&网络流&最小割等问题的总结
二分图基础: 最大匹配:匈牙利算法 最小点覆盖=最大匹配 最小边覆盖=总节点数-最大匹配 最大独立集=点数-最大匹配 网络流: 技巧: 1.拆点为边,即一个点有限制,可将其转化为边 BZOJ1066, ...
随机推荐
- OpenGL编程逐步深入(六)平移变换
准备知识 从这一节我们开始接触3D对象各种各样的变换,使其显示在屏幕上看起来有深度的感觉.通常每一种变换都是通过矩阵来实现的,把这些变换矩阵逐个的乘起来,然后用乘积乘以顶点位置.在每个教程中,我们致力 ...
- Android项目实战(四十四):浅谈Postman (网络请求调试插件)
前言: Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件. 在项目开发中,可以依赖此工具模拟API测试. 使用详解: 各种情况Api的模拟请求的Postman使用方 ...
- hiho147周 - 数据结构 bitset
题目链接 n个5维数,对于每个数,输出小于他的数的个数(每个维度都比他小); #include <cstdio> #include <cstring> #include < ...
- UVa 140 Bandwidth【枚举排列】
题意:给出n个节点的图,和一个节点的排列,定义节点i的带宽b[i]为i和其相邻节点在排列中的最远的距离,所有的b[i]的最大值为这个图的带宽,给一个图,求出带宽最小的节点排列 看的紫书,紫书上说得很详 ...
- Ubuntu18.04 更改GRUB引导菜单背景图片和默认启动项
一.更改GRUB引导菜单背景图片1.首先准备一张想要的照片,文件名是啥无所谓,只要格式是*.jpg *.JPG *.jpeg *.JPEG *.png *.PNG *.tga *.TGA都行,都能自动 ...
- caffe(9) caffe例子
为了程序的简洁,在caffe中是不带练习数据的,因此需要自己去下载.但在caffe根目录下的data文件夹里,作者已经为我们编写好了下载数据的脚本文件,我们只需要联网,运行这些脚本文件就行了. 注意: ...
- P3157 [CQOI2011]动态逆序对 CDQ分治
一道CDQ分治模板题简单来说,这道题是三维数点对于离线的二维数点,我们再熟悉不过:利用坐标的单调递增性,先按更坐标排序,再按纵坐标排序更新和查询时都直接调用纵坐标.实际上,我们是通过排序将二维中的一维 ...
- 20180929 北京大学 人工智能实践:Tensorflow笔记04
20180929 北京大学 人工智能实践:Tensorflow笔记03(2018-09-30 00:01)
- Unity调用Android的两种方式:其一、调用jar包
unity在Android端开发的时候,免不了要调用Java:Unity可以通过两种方式来调用Android:一是调用jar.二是调用aar. 这篇文章主要讲解怎么从无到有的生成一个jar包,然后un ...
- uip UDP server广播模式(client能够随意port,而且主动向client发送数据)
眼下移植uip,发现UDP server模式下,必须指定本地port以及clientport,否则仅仅能讲clientport设置为0,才干接收随意port的数据,可是无法发送数据,由于此时clien ...
