网络流
Nicoleeeee
这个作者很懒,什么都没留下…
展开
-
HDU6749 Mosquito 二分+网络流
题目描述房间是个 n∗m 的网格,一共有 k 个窗户,都在上下左右四条边上。在第 0 时刻,每个窗户对应的格子上都会出现若干只蚊子。蚊子每个时刻可以往上下左右移动一格或者呆在原地不动。假设这些蚊子都足够聪明,请问最少花费多少时刻,使得所有格子上都有至少一只蚊子?蚊子在第 0 时刻不能动。1≤m,n≤1000,1≤k≤6,1≤T≤101\leq m,n \leq 1000 ,1\leq k \leq 6,1\leq T \leq 101≤m,n≤1000,1≤k≤6,1≤T≤10分析二分时刻,蚊原创 2020-07-20 22:44:37 · 238 阅读 · 0 评论 -
Codeforces Round #366 (Div. 1) D. Captain America 上下界网络流
题意给定一个坐标平面上的N个点,要为这些点染色,每种点可以染为两种颜色,红色花费为r,蓝色花费为b。 现在给出m个约束条件,每个条件形如:“ ti li di ”表示: 1.如果ti=1,那么要求x=li上所有点红蓝数量之差小于等于di 2.如果ti=2,那么要求y=li上所有点红蓝数量之差小于等于di 然后要你最小化花费分析这是一个平面图,我们想到x和y连, 于是对...原创 2018-04-04 10:39:43 · 176 阅读 · 0 评论 -
Codeforces 903G. Yet Another Maxflow Problem 最小割+线段树
题意给定一个2n个节点的图,其中n个点在A集,n个点在B集。且称A集第i个点为ai(B集类似)。每个ai(i < n)向ai+1连一条给定容量的边(B也一样),还有m条边从ax连到by,容量给定。 有q次操作,每次修改一条ax连向ax+1的边的容量(x和容量给定)。你需要对每次操作以及操作前输出以a1为源点,bn为汇点的最大流。n,m,q≤200000分析首先第一个最大...原创 2018-04-04 12:09:19 · 207 阅读 · 0 评论 -
AtCoder Regular Contest 074 F - Lotus Leaves 最小割
题意你的敌对势力计划在一个网格状的迷宫里进行交易。迷宫共有n 行m 列, 其中一些房间有障碍物无法通行。敌对势力需要从房间S 走到房间T (房间S 和房间T 都没有障碍物)。他们拥有蓝月套装,因此每次可以从一个房间移动 到一个位于同一行或者同一列且没有障碍物的房间。为了阻止敌对势力的交易, 你需要在房间S 和房间T 以外的一些可通行房间内放入障碍,使得他们无法从 房间S 走到房间T。...原创 2018-04-17 15:38:01 · 150 阅读 · 0 评论 -
Codeforces 786E. ALT 最小割+倍增
题意有n个点的树,n-1条边,每条边可以选择放不放狗,还有q条路径 每条路径要满足:路径上的边全是狗,或者自己带一条狗,问至少要多少狗 n and m (2 ≤ n ≤ 2 × 104, 1 ≤ m ≤ 104)分析首先我们可以简单的最小割 起点连向一条路径 一条路径连向路径的所有边 边连到终点但是输出方案有点难输出 我们想,如果流完之后,起点连过去有一条还有流量的边,...原创 2018-04-05 15:16:56 · 392 阅读 · 0 评论 -
Codeforces 818G. Four Melodies 最大费用最大流
题意给定一个长度为n的序列,你需要选出4个没有交集的子序列,使得它们都满足:相邻两项要么差的绝对值为1,要么模7余数相同 求最长的总长度 4≤n≤3000分析首先我们想想怎么建图,可以把四个子序列变为流量,一个点变成费用,就跑最大费用最大流,每个点只能流一次,我们想到拆两个点一个入一个出 入的连到出的流量为1,费用为1,代表用这个点, 出的连到所有到达入的点,流量为inf,费用...原创 2018-04-07 10:36:22 · 379 阅读 · 0 评论 -
Codeforces 739E. Gosha is hunting 费用流 期望
题意n个人,有a个p操作,b个q操作 每个操作可以使一个人以p[i]/q[i]概率激活 问激活期望分析首先考虑不会同时操作一个人的期望应该怎么算 拉两个点出来,表示p操作和q操作,连向人流量为1,费用为p[i]/q[i] 然后每个点表示一个人,向终点连一个流量为1,费用为0的边,然后跑一遍跑一遍费用流现在多了同时操作一个人,考虑要减掉的贡献 1−(1−p[i])(1−...原创 2018-04-26 16:34:43 · 249 阅读 · 0 评论 -
bzoj 1391: [Ceoi2008]order 最大权闭合子图
题意给任务和机器,机器可以租可以买,然后问获利分析首先想到把机器拆点租的和买的 其实不用,任务连到机器租的价格就好了 想想就好?流完代表租比较好,不然的话买比较好 要加个当前弧优化代码#include <bits/stdc++.h>#define bin(i) (1<<(i))#define pb push_backusing names...原创 2018-04-26 20:52:18 · 213 阅读 · 0 评论 -
2019 Multi-University Training Contest 3
Distribution of books这道题模型不熟练所以做不出来首先二分答案,然后就是要分成k段,使得每一段的和小于等于x定义dp[i]dp[i]dp[i]表示前i个最多能分多块满足dp[i]=dp[j]+1(sum[i]−sum[j]≤x)dp[i] = dp[j] + 1 (sum[i]-sum[j] \leq x)dp[i]=dp[j]+1(sum[i]−sum[j]≤x)然...原创 2019-07-30 14:10:41 · 165 阅读 · 0 评论