网络流
文章平均质量分 79
ygmjsjdboy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【上下界网络流】支线剧情
门 题目 每条边至少走一次,起点为1的有向无环图,最少走的权值最小 题解 。。。明显就是源点为1的下界为1上界INF的费用流 但上下界咋做来着 有源汇需要汇向源连(INF,0)的边变成无源汇 要假设全都到了下界,然后将剩余流量改为upi−lowiup_i-low_iupi−lowi 然后看这样流进的和流出的大小关系,in>outin>outin>out就连S−>iS->iS−>i,反之连i−>Ti->Ti−>T 最后跑遍普通网络流即可 #inclu原创 2020-07-24 10:22:40 · 114 阅读 · 0 评论 -
【最小割】[TJOI2015]线性代数
门 这是基于最小割模型的一道题,但还没来得即过手,就挂掉了 题目 选iii获得cic_{i}ci损失 对于选中的二元组(i,j)(i,j)(i,j)获得bi,j+bj,ib_{i,j}+b_{j,i}bi,j+bj,i(iii可以等于jjj) 题解 感谢这位大佬的讲解 先假设全部bbb贡献都能获得,再建图减掉最小割 我们要将iii分成两组,一组会有cic_ici贡献,一组会有bi,ib_{i,i}bi,i单独贡献和bi,j+bj,ib_{i,j}+b_{j,i}bi,j+bj,i二元组贡献原创 2020-06-10 19:47:58 · 154 阅读 · 0 评论 -
【费用流】「2017 山东一轮集训 Day4」棋盘
题目 求放k个棋子在n*n的棋盘上,最少互相攻击的棋子对数。 能够攻击仅当两旗子在一条直线上,且中间无障碍物。 共有q个询问 题解 不难想到这种棋盘上放棋子的题考得是网络流 积累:按行、纵分别按其对应连通块编号,S->行->纵->T 但明显新一行的点互相攻击的话,随点数的增加,贡献是0,1,2,3这样递增的。 于是我们想到给S->行,纵->T连边时 连多条(val=0...原创 2020-03-13 19:32:19 · 222 阅读 · 0 评论 -
【网络流】【网络流24题】骑士共存问题
洛谷P3355 题目: n*n方格中最多放多少马(无撇马脚,走"日"字),互不相杀。 还有部分障碍不能放马 题解: 同样考虑,假如全部(非障碍)放满,删去最少的点,使图无限制。 染色后,同方格取数,连边后跑最小割 ————————分界线—————————— 思考为什么这样染色后建图就可以。 因为白点一定限制的是黑点,黑点一定限制的是白点,说明两个互相限制的黑白点必须删去其中之一,对应一条增广路。 ...原创 2019-10-19 21:23:14 · 133 阅读 · 0 评论 -
【网络流】【网络流24题】方格取数问题
luoguP2274 题目: #include<bits/stdc++.h> using namespace std; const int N=1e4+10,M=1e5+10,INF=0x7fffffff; int S,T; int n,m; int mp[102][102]; int head[N],nex[M],to[M],val[M],tot=1; void build(int ...原创 2019-10-19 21:09:07 · 253 阅读 · 0 评论 -
【网络流】
1,最大流 模板: 1,(我也不知道叫啥)bfs+dfs bfs:确定深度,用来优化。 dfs:从源点带着流量限制深搜一遍到汇点。以免增广路相交,在深搜过的边建一条反向边,让其在之后可能路径相交时逆流回去。走过的点深度加,某深度断层时必定无法继续使最大流更新。 void bfs(int s) { memset(t,0,sizeof(t)); memset(deep,0x7f/3,s...原创 2019-07-17 22:22:37 · 116 阅读 · 0 评论
分享