博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj 3597: [Scoi2014]方伯伯运椰子 [01分数规划 消圈定理 spfa负环]
阅读量:7078 次
发布时间:2019-06-28

本文共 1789 字,大约阅读时间需要 5 分钟。

题意:

from mhy12345

给你一个满流网络,对于每一条边,压缩容量1 需要费用ai,扩展容量1 需要bi,

当前容量上限ci,每单位通过该边花费di,限制网络流量不能改变。调整后必须满
流,设调整了K 次,使得费用减少量为D,最大化D/K


就是给你一个费用流,但不是最小,增广的费用为b+d,退流的费用为a-d

就是正反向增广路

根据消圈定理流f为mcmf当且仅当无负费用增广圈

01分数规划+spfa求负环即可

#include 
#include
#include
#include
#include
using namespace std;typedef long long ll;#define fir first#define sec secondconst int N = 505, M = 1e4+5, mo = 1e9+7;inline int read() { char c=getchar(); int x=0,f=1; while(c<'0'||c>'9') {if(c=='-')f=-1;c=getchar();} while(c>='0'&&c<='9') {x=x*10+c-'0';c=getchar();} return x*f;}int n, m;double l, r;struct edge {int v, ne; double w;} e[M];int cnt, h[N];inline void ins(int u, int v, double w) { e[++cnt] = (edge) {v, h[u], w}; h[u] = cnt;}namespace nc { int vis[N], T; double d[N]; bool dfs(int u, double mid) { vis[u] = T; for(int i=h[u]; i; i=e[i].ne) { int v = e[i].v; double w = e[i].w + mid; if(d[v] > d[u] + w) { d[v] = d[u] + w; if(vis[v] == T || dfs(v, mid)) return true; } } vis[u] = 0; return false; } bool neg_circle(double mid) { memset(vis, 0, sizeof(vis)); memset(d, 0, sizeof(d)); for(T=1; T<=n+2; T++) if(dfs(T, mid)) return true; return false; }}bool check(double mid) { return nc::neg_circle(mid);}int main() { freopen("in", "r", stdin); n = read(); m = read(); for(int i=1; i<=m; i++) { int u = read(), v = read(), a = read(), b = read(), c = read(), d = read(); ins(u, v, b+d); if(c) ins(v, u, a-d); r += c * d; } while(r - l > 1e-3) { double mid = (l+r)/2.0; if(check(mid)) l = mid; else r = mid; } printf("%.2lf\n", l);}

转载地址:http://ogpml.baihongyu.com/

你可能感兴趣的文章
用gdb分析core文件及常见gdb命令操作示例
查看>>
来自虚拟运营商的挑战 语音或将免费
查看>>
安吉斯媒体:流程化运作助推一站式管理
查看>>
云存储基础架构决策:公有 VS. 私有
查看>>
中国人工智能学会通讯——构建强健的人工智能:原因及方式 5. 使用更大的模型...
查看>>
吉林交警携手高德地图 开展“互联网+交通管理”
查看>>
云栖科技这家公司切入企业级文档云市场,希望解决移动和安全两个痛点
查看>>
在用苹果Mac OS X操作系统吗?那你得小心了……
查看>>
2014年11月11日
查看>>
秒杀WiFi 新技术让你一秒下载23部电影
查看>>
物联网时代三大标准齐头并进 互为补充
查看>>
阿里云成为Linux基金会金牌会员
查看>>
大数据时代 数据中心面临三大挑战
查看>>
《网络空间欺骗:构筑欺骗防御的科学基石》一3.3.4 识别和量化恶意软件的指标...
查看>>
自动化是任何云计算的基础
查看>>
密码提取神器 mimikatz 现已支持Windows 10 RS2
查看>>
老生常谈数据中心节能
查看>>
Check Point 指出2016 下半年勒索软件倍增
查看>>
微服务和容器对企业带来什么样的影响?
查看>>
如何掌握好应用程序的数据和未来发展
查看>>