网络流
文章平均质量分 90
gjghfd
这个作者很懒,什么都没留下…
展开
-
codeforces802C Heidi and Library (hard) -- 费用流
题目大意:每天会有一个客人来图书馆,共n天,第i个客人要看的书是ai。 为了保证每个客人都能读到想要的书,你可以在任意时间去商店买书并放入图书馆或者从图书馆里丢掉几本书,图书馆里最多只能有k本书。 第i本书的价格是c[i]。问最少花费是多少?原创 2017-05-30 10:27:27 · 708 阅读 · 0 评论 -
poj1698 [ Usaco2007 Feb ] --最大流
题目大意: 爱丽丝要拍电影,有n部电影,规定爱丽丝每天只能拍一部电影,每部电影在每个礼拜只有固定的几天可以拍电影,只可以拍前面w个礼拜,并且这部电影要拍d天,问爱丽丝能不能拍完所有的电影。思路: 建图。点1~350代表天数(因为最多只有350天),点351~370代表电影(最多只有20部电影)。从源点向每部电影连一条容量为d的边,从每部电影向可以拍摄它的那几天连一条原创 2017-05-26 16:40:10 · 254 阅读 · 0 评论 -
bzoj2324 [ ZJOI2011 ] -- 费用流
先用floyd求出不经过大于i或大于j的点的i,j间最短路径,然后考虑这样建图:对于每个点i,将其拆分成i、i',连边:s -> i' 容量为INF,费用为0s -> 1 容量为k,费用为0i' -> j 容量为1,费用为dist[i][j]i -> t 容量为1,费用为0此时这张图的最小费用最大流就是答案。代码: 1 #include 2 #include 3 #inc原创 2017-05-26 16:43:35 · 183 阅读 · 0 评论 -
[ 网络流 树上启发式合并 主席树 ] BZOJ3681
题解#include<bits/stdc++.h>using namespace std;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++;}inline void原创 2017-10-11 21:37:03 · 401 阅读 · 0 评论 -
[ 网络流 主席树 ] BZOJ3218
将答案转化为 ∑(wi+bi)−∑whitebi−∑blackwi−∑strangepi\sum(w_i+b_i)-\sum_{white}b_i-\sum_{black}w_i-\sum_{strange}p_i 然后就是和bzoj3681一样的套路。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm原创 2017-10-13 08:28:04 · 384 阅读 · 1 评论 -
[ 线段树 网络流 ] Codeforces793G Oleg and chess
我们可以通过扫描线将网格图分成 O(n)O(n) 个矩形。然后对行、列分别建一棵线段树。对于每个矩形,建一个中间点,将行、列与它分别连边,边数为 O(nlogn)O(n\log n) 。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;#define N 100原创 2017-10-16 15:08:15 · 442 阅读 · 0 评论 -
[ 费用流 ] [ SDOI2016 ] BZOJ4514
因为只有奇数个质因子和偶数个质因子间可以匹配,所以如果在可以配对的点间连边,得到的图是二分图。 然后跑费用流直到价值总和小于 00 就好了。注意判断临界情况。#include#include#include#includeusing namespace std;typedef long long ll;const int N=210;const int M=21000;c原创 2018-01-10 16:23:42 · 159 阅读 · 0 评论 -
[ 有上下界网络流 ] Codeforces704D Captain America
假设 r≤br≤br\le b 。 把每一行作为左边的点,每一列作为右边的点建一张二分图。 每个点在对应的行列间连边,流量上限为 111 。这条边流量为 111 表示选红色,否则表示选蓝色。 对于左边的一个点,设右边与它相邻的点数为 sss ,它的限制为 ddd ,那么通过这个结点的流量 fff 满足 |2f−s|≤d|2f−s|≤d|2f-s|\le d s−d2≤f≤s+d2s−d2...原创 2018-02-25 14:21:34 · 300 阅读 · 0 评论 -
[ 分数规划 费用流 KM算法 ] [ SDOI2017 ] BZOJ4819 新生舞会
分数规划裸题#include<bits/stdc++.h>using namespace std;typedef double db;const int N=110;const db INF=1e18;const db Eps=1e-7;int k,n,m;int A[N][N],B[N][N];db a[N][N];int f[N],g[N];db w1[...原创 2018-05-17 13:58:08 · 279 阅读 · 0 评论