
网络流
wzf_2000
这个作者很懒,什么都没留下…
展开
-
【BZOJ4823】 [Cqoi2017]老C的方块
此题是构造好题。首先我们对体中的方块进行四染色:from sdfzyhx的博客然后我们发现每一个不好的四个方块都是Y->B->R->G然后分四层跑网络流dinic(记得中间2、3层不要赋值为inf,我挂在这好久)#include #define gc getchar()#define N 100009#define mp make_pair#define pb pu原创 2017-05-07 14:33:03 · 677 阅读 · 0 评论 -
【bzoj1305】[CQOI2009]dance跳舞
这题比较显然的网络流 先考虑建图: 男生向他的镜像节点连一条容量为kk的边。 女生的镜像节点向她连一条容量为kk的边。 男生节点向每一个喜欢的女生连一条容量为11的边。 男生镜像向不喜欢的女生镜像连一条容量为11的边。 S向每个男生节点连一条容量待定的边。 每个女生节点向T连一条容量相同的边。 两种方法: 二分答案midmid,设置源汇连边容量为midmid,跑最大流,如果flow原创 2017-08-05 09:14:58 · 297 阅读 · 0 评论 -
【bzoj3996】[TJOI2015]线性代数
首先转化题目: 给你nn个物品,可以选或不选。 选第ii个物品需要c[i]c[i]的代价。 同时选第ii和第jj个物品获得b[i][j]b[i][j]的收益 问最大收益。 网络流建图: 考虑sum=∑ni=1∑nj=1b[i][j]sum=\sum_{i=1}^{n}\sum_{j=1}^{n}b[i][j] 剩下就变成了算代价最小(也就是最小割) 建点(i,j)(i,j)和ii,对原创 2017-08-05 09:23:35 · 347 阅读 · 0 评论 -
【bzoj2127】happiness
题解过长,于是丢lych_cys题解跑#include <bits/stdc++.h>#define gc getchar()#define ll long long#define mid (l+r>>1)#define N 109#define inf 0x3f3f3f3fusing namespace std;int n,m,a[N][N],b[N][N],sum;int num原创 2017-08-05 09:26:52 · 346 阅读 · 0 评论 -
【bzoj3144】[Hnoi2013]切糕
每个点(x,y,z)(x,y,z)向(x,y,z+1)(x,y,z+1)连一条容量为其代价的边 SS向(x,y,1)(x,y,1)连一条容量为infinf的边 (x,y,h+1)(x,y,h+1)向TT连一条容量为infinf的边 对于相邻的(x,y),(x′,y′)(x,y),(x',y'),连边(x,y,P)−>(x′,y′,P−D)(x,y,P)->(x',y',P-D),容量为infi原创 2017-08-05 09:32:01 · 252 阅读 · 0 评论 -
【bzoj1834】[ZJOI2010]network 网络扩容
第一问显然的最大流 第二问在残余网络上对于每条原来的边再连一条容量为infinf,费用为C[i]C[i]的边。 然后建超级源点SS向11连容量为kk的边,nn向超级汇点TT连容量为kk的边(我有强迫症)。#include <bits/stdc++.h>#define gc getchar()#define ll long long#define mid (l+r>>1)#define N原创 2017-08-05 09:37:13 · 299 阅读 · 0 评论