没什么好说的,一个比较裸的0/1分数规划,后面求最大值直接用费用流即可。 大概记录一下0/1分数规划吧。 考虑题目要最大化一个分式,我们不妨定义这个分式为$\frac{A}{B}=C$。 那么此时我们要最大化的就是$C$的值,所以我们可以把$C$换过去,大致是$A B C=0$。 然后如果上述式子$ ...
分类:
其他好文 时间:
2019-08-27 23:12:35
阅读次数:
90
"传送门" 分析: 非常经典的费用流的模型吧,也可以通过二分图最大匹配去做,但是鉴于二分图最大匹配的算法存在一定的局限性,故还是学一学较为通用的费用流的做法。 这道题目中本质上要讨论的问题跟运输问题, "运输问题" 是一致的。 因为考虑到每个人只能被分配到一种货物,每种货物只能被一个人所分配,因此, ...
分类:
其他好文 时间:
2019-08-19 21:22:57
阅读次数:
97
闲扯 蒟蒻的第一道自己想出怎么建图的题!!~~虽然是一个没什么技术含量的图~~ 想了想,还是写篇题解纪念一下。 题面 "题面" Solution 要求最小费用和最大费用,同时限制了流量,考虑费用流。 虚拟一个超级源点,从这个点分别向 $N$ 个任务连一条流量为 $1$ ,费用为 $0$ 的边。 虚拟 ...
分类:
其他好文 时间:
2019-08-17 22:19:48
阅读次数:
118
"link" 简要题意: 给一颗$n$个点的二叉树, ,每个点有$a[i]$个果实,有$m$次操作,每次在$u\to v$(保证$u$是$v$的祖先)中取不超过$c$个果实,每取一个贡献$w$的收益 首先可以暴力建边然后费用流。考虑优化,有一种显然的贪心策略:按照$w$从大到小依次尽量选最多,判断可 ...
分类:
移动开发 时间:
2019-08-16 22:51:54
阅读次数:
229
题面 http://uoj.ac/problem/389 题解 当我刚学欧拉回路的时候,刚刚把网络流学完,就知道欧拉回路的题可以用网络流来做,这道题就是啦。 可以说欧拉回路是一类特殊网络流的调整问题(和上下界网络流)差不多。 所以我曾经开过脑洞,有上下界最小流可以用费用流做,但是由于太慢被自己$D$ ...
分类:
其他好文 时间:
2019-08-14 09:39:04
阅读次数:
120
dij struct edge{ int to,cap,cost,rev; }; int n,V,k; int a[MAX_N]; vector<edge> G[2*MAX_N+2]; int h[2*MAX_N+2]; int dist[2*MAX_N+2]; int prevv[2*MAX_N+ ...
分类:
其他好文 时间:
2019-08-11 20:49:38
阅读次数:
84
1、什么是最小费用最大流问题 上篇文章我们讲解了最大流问题,那什么是最小费用最大流呢?听名字就可以看出,我们要在满足最大流的同时找到达成最大流的最小费用。 对于一个网络流,最大流是一定的,但是组成最大流的费用是可以不同的,这里就有了在最大流网络上产生的费用流网络,就有了最小花费问题。 简单来说,就是 ...
分类:
其他好文 时间:
2019-08-09 21:18:35
阅读次数:
156
#zkw费用流# 参考网址: https://artofproblemsolving.com/community/c1368h1020435 zkw大佬的改进:①在dfs的时候可以实现多路增广②KM算法节省SPFA时间(然而我这里没有KM,要问为什么,当然是因为我不会了orz); but,参考了另外 ...
分类:
其他好文 时间:
2019-08-09 17:29:54
阅读次数:
83
郑睿round 1 代码真的好写,还是太笨了,爆零了。 郑睿round_2 好失败,A题真的是日狗了,第一发就可以A的,忘记费用流的反向边也要加一发流量了。哎,我注定是要爆零。 正睿round_3 日常爆零,10点之后就没输出了 10点写完T2暴力之前就想出T1咋做了。 因为知道恶心才去先写50的暴 ...
分类:
其他好文 时间:
2019-08-08 20:59:48
阅读次数:
147
【前置知识】 最大流 【问题描述】 给定一个图,图上的边每条边有流量,流量有费用, 求在流量为 F 时费用的最小值 【分析思路】 求费用最小,我们很容易想到求最短路径,我们只需要将费用看作代价然后求最短路不久能求出来最小费用了嘛 但是,问题来了 我们又如何能够在求最小费用的同时,满足流量最终为F的条 ...
分类:
编程语言 时间:
2019-08-08 20:59:14
阅读次数:
84