首页 > TAG信息列表 > maxflow

2022-7-2 网络流听课笔记

CF925F 题目叙述 一个上下界网络流问题,每条边的流量在 \([at+b,ct+d]\) 内。t 在 \([0,1]\) 内随机,求这张图有多少概率有解。 题解 如果 \(t\) 不形成一个区间,那这个题就太难了。所以猜测 \(t\) 形成一个区间。 其次,这个东西如果是单调的,那就太简单了。所以我们猜他是凸的,需要三分

Maxflow

题目背景 给你一棵大小为 \(n\) 的树,每个节点上都有一个点权,初值为 0。 一共有 \(m\) 次操作,每次操作给定一个点对 $(s_i,t_i)#,表示对 \(s_i−>t_i\) 这条路径上的每个节点点权+1。 所有操作结束后,询问所有点的最大点权。 输入格式 第一行包括两个正整数 \(n,m\)。 此后 \(n−1\)

[洛谷P4311]士兵占领 题解(贪心+最大流)

洛谷P4311 士兵占领 洛咕传送门 BZOJ 都已经凉了awa 思路: 题目数据规模不大,可选方法很多,考虑贪心。 本文中,称第 \(i\) 行/列 的要求士兵数量为:第 \(i\) 行/列 的名额。 很显然,对于第 \(i\) 行第 \(j\) 列的士兵,如果它可以放,那么我们希望它能一次性占掉第 \(i\) 行和第 \(j\)

CF903G-Yet Another Maxflow Problem【线段树,最大流】

正题 题目链接:https://www.luogu.com.cn/problem/CF903G 题目大意 有 n n n个 A A A点,

UVA11248 Frequency Hopping

最近又在水网络流qwq 但是以后不卷了 老巴实的做些我能做的水题去了qwq 这道题不难想, 但是不太好实现(其实也不难实现, 首先, 我们直接跑一遍最大流, 如果 \(maxflow \geq c\) 的话, 我们就直接输出 \(possible\) 就是了. 很显然, 我们一定存在一个流与 \(c\) 相等, 因为我们的流量

P1401 城市

题意 \(n\)个点,\(m\) 条边的无向图,求出 \(t\) 条路径,使路径中最长的边最小。 题解 看到最大的最小应该能马上想到二分答案。 于是我们差的就是一个 check 函数了。 不正确暴力 从点 \(1\) 出发遍历,将遍历的边及其反边打上标记,直至有 \(t\) 条路径为止。 这么一看感觉仿佛还可以,但

网络流

[> 目录在这里 <]----------------------------------------------------------------------------------------------------------> 前置知识 最大流dinic模板 费用流EK模板 1.输出方案   1.飞行员配对问题 [luogu P2756]   简要题解:   用最大流求最大匹配。源点向每一个

[SCOI 2007] 修车

目录题目解法代码 题目 传送门 解法 首先平均等待时间最小就是总等待时间最小。 对于一位师傅,如果他修了 \(s\) 辆车,第 \(i\) 个被修的车为 \(p_i\),修车时间为 \(t_i\)。那么第 \(i\) 辆车的等待时间为第 \(i\) 辆车的等待时间 \(+t_i\)。那么 \(s\) 辆车的总时间就是 \(\sum_{i=1

【LibreOJ101】模板:最大流

LibreOJ https://loj.ac/p/101 #include<cstdio> #include<algorithm> #include<cstdlib> #include<cstring> #include<iostream> #include<cctype> #include<cmath> using namespace std; #define add_edge(a,b,c) ++tot,nxt[to

CF903G Yet Another Maxflow Problem

Link 先转化为最小割。 显然\(A\rightarrow A,B\rightarrow B\)的边最多割一条。 那么如果我们割的是\(A_u\rightarrow A_{u+1},B_{v-1}\rightarrow B_v\),那么总共的代价是\(\sum\limits_{i=1}^u\sum\limits_{j=v}^ne(i,j)+e(A_u,A_{u+1})+e(B_{v-1},B_v)\)。 最开始的情况我们

P5331 [SNOI2019]通信 [线段树优化建图+最小费用最大流]

这题真让人自闭…我EK费用流已经死了?… (去掉define int long long就过了) 我建的边害死我的 spfa 还是spfa已经死了? 按费用流的套路来 首先呢 把点 \(i\) 拆成两个点 \(i\) 和 \(i'\) 令 \(i'\) = \(i+n\) 对任意的 \(i\) 点 建 \(s -> i' -> t\) 表示这个连到控制中心… \(s -> i