随笔分类 -  01分数规划

摘要:即在总流量不变的情况下调整每条边的流量。显然先二分答案变为求最小费用。容易想到直接流量清空跑费用流,但复杂度略有些高。 首先需要知道(不知道也行?)一种平时基本不用的求最小费用流的算法——消圈法。算法基于下面的定理:如果残量网络中有负环,当前费用流一定不是最小费用流(似乎很显然?)。注意到分数规划之 阅读全文
posted @ 2019-01-18 15:49 Gloid 阅读(157) 评论(0) 推荐(0)
摘要:如果要在某点买入某物品并在另一点卖出,肯定是走其间最短路径。于是预处理任意两点间的收益和最短路径,连完边二分答案判负环即可,可以全程floyd。注意inf大小。 阅读全文
posted @ 2018-11-30 02:35 Gloid 阅读(137) 评论(0) 推荐(0)
摘要:看到比值先二分答案。于是转化成一个非常裸的树形背包。直接暴力背包的话复杂度就是O(n2),因为相当于在lca处枚举每个点对。这里使用一种更通用的dfs序优化树形背包写法。https://www.cnblogs.com/zzqsblog/p/5537440.html 即设f[i][j]为在dfs序第i 阅读全文
posted @ 2018-11-08 16:13 Gloid 阅读(214) 评论(0) 推荐(0)
摘要:看到这个式子当然先二分答案。得max-min-(j-i+k)ans>=0。 显然max-min相同的情况下所选区间长度越短越好,所以max和min都应该取在边界。那么实际上我们根本不用管端点是否真的是max或min,因为即使不是将他们计入也不会对最终答案造成影响。不妨设右端点是max,则要最大化aj 阅读全文
posted @ 2018-10-30 21:28 Gloid 阅读(165) 评论(0) 推荐(0)