【uva11613】生产销售规划
这很像之前做的一道noip模拟题……
所以当时那题也可以用费用流写(雾)
拆点,将每个月拆成两个点,一个向起点连边表示产量,另一个点连汇点表示销量。
然后每个点依次往后面的点2连边,表示保存。
- #include<bits/stdc++.h>
- #define N 10005
- #define inf 1000000007
- #define naive 0
- using namespace std;
- typedef long long ll;ll ans=naive;
- int wy,n,m,I,head[N],tot=naive,pre[N],inq[N],dis[N],s,t;
- struct Edge{int u,v,next,f,c;}G[];
- inline void addedge(int u,int v,int f,int c){
- G[tot].u=u;G[tot].v=v;G[tot].f=f;G[tot].c=c;G[tot].next=head[u];head[u]=tot++;
- G[tot].u=v;G[tot].v=u;G[tot].f=;G[tot].c=-c;G[tot].next=head[v];head[v]=tot++;
- }
- inline bool bfs(int s,int t){
- memset(inq,naive,sizeof(inq));memset(pre,-,sizeof(pre));for(int i=s;i<=t;i++)dis[i]=inf;
- queue<int>q;q.push(s);dis[s]=naive;
- while(!q.empty()){
- int u=q.front();q.pop();inq[u]=;
- for(int i=head[u];~i;i=G[i].next){
- int v=G[i].v,f=G[i].f,c=G[i].c;
- if(f&&dis[v]>dis[u]+c){pre[v]=i;dis[v]=dis[u]+c;inq[v]=;q.push(v);}
- }
- }
- return dis[t]!=inf;
- }
- void mcmf(int s,int t){
- while(bfs(s,t)){
- int x=inf;if(dis[t]>)return;
- for(int i=pre[t];~i;i=pre[G[i].u])x=min(x,G[i].f);
- for(int i=pre[t];~i;i=pre[G[i].u])G[i].f-=x,G[i^].f+=x,ans+=1LL*G[i].c*x;
- }
- }
- inline int read(){
- int f=,x=;char ch;
- do{ch=getchar();if(ch=='-')f=-;}while(ch<''||ch>'');
- do{x=x*+ch-'';ch=getchar();}while(ch>=''&&ch<='');
- return f*x;
- }
- int main(){
- int T=read();
- while(T--){
- m=read();I=read();ans=naive;memset(head,-,sizeof(head));tot=naive;t=*m+;s=naive;
- for(int i=;i<=m;i++){
- int c1=read(),f1=read(),c2=read(),f2=read(),x=read();
- addedge(s,i,f1,c1);addedge(i+m,t,f2,-c2);
- for(int j=i;j<=min(i+x,m);j++)addedge(i,j+m,inf,I*(j-i));
- }
- mcmf(s,t);printf("Case %d: %lld\n",++wy,-ans);
- }
- }
【uva11613】生产销售规划的更多相关文章
- 【UVA11613 训练指南】生产销售规划 【费用流】
题意: Acme公司生产一种X元素,给出该元素在未来M个月中每个月的单位售价.最大产量.最大销售量,以及最大储存时间(过期报废不过可以储存任意多的量).你的任务是计算出公司能够赚到的最大利润. 分析: ...
- 【网络流问题·我就想建好模】
·为了有助于你读后文,在写题前先列出一些大米饼的代码习惯: 一个提醒:所有的ADD函数无特殊说明均如图:(没有w就直接跳过) 以及: go(i,a,b)=====for(int i=a;i<=b ...
- 时间规划在Optaplanner上的实现
在与诸位交流中,使用较多的生产计划和路线规划场景中,大家最为关注的焦点是关于时间的处理问题.确实,时间这一维度具有一定的特殊性.因为时间是一维的,体现为通过图形表示时,它仅可以通过一条有向直线来表达它 ...
- 深入解析 ERP 计划的各个层次
ERP 生产计划管理按照 ERP 计划的层次主要分为:经营规划.销售和运作规划.主生产计划.物料需求计划.能力需求计划.执行能力计划.执行物料计划等. 经营规划是企业的战略规划,用于确定企业经营目标和 ...
- 食品生鲜调料代理分销拼团商城微信小程序
食品生鲜调料代理分销拼团商城微信小程序 现在小程序越来越火爆了,一种新的分销拼团模式出现了.一起来分享一下吧 调料商城是一家是专业从事各种调料生产和网上调料商品销售平台,是藤椒油.花椒油.香油.火锅油 ...
- Acme Corporation UVA - 11613 拆点法+最大费用最大流(费用取相反数)+费用有正负
/** 题目:Acme Corporation UVA - 11613 拆点法+最大费用最大流(费用取相反数)+费用有正负 链接:https://vjudge.net/problem/UVA-1161 ...
- SAP-财务知识点
[转自 http://blog.itpub.net/195776/viewspace-1023912/] SAP FI/CO Reading RepositorySAP财务成本知识库 目 录前言.一. ...
- xv6课本翻译之——附录A Pc的硬件
Appendix A 附录A PC hardware Pc的硬件 This appendix describes personal computer (PC) hardware, the platfo ...
- Navi.Soft20.WinCE使用手册
1.概述 1.1应用场景 随着物联网的普及,越来越多的制造商对货品从原料配备,加工生产,销售出库等环节的要求和把控越来越高.在此情况之下,传统的ERP软件已经无法满足现有的流程. 移动设备的应用,在很 ...
随机推荐
- openstack之neutron
Neutron neutron主要就是用于网络虚拟化,之前将nova的时候说过,网络部分没有写,因为openstack中的网络属于一个大部分,所以今天咱们就来看看neutron到底是怎么样实现网络虚拟 ...
- Python虚拟环境virtualenv的使用
virtualenv 是一个创建孤立的Python环境的工具.可以让你创建各自独立的.互不影响的Python开发环境. 使用pip安装即可 pip install virtualenv 查看是否安装成 ...
- WIN7系统插入蓝牙适配器经常断开问题
WIN7 ACER笔记本一台,蓝牙耳机一个,10块钱的蓝牙适配器一个 目的:可以在笔记本上用适配器与蓝牙耳机匹配 出现问题:1.有2个图标,一会左边感叹号,一会右边感叹号,必须有个存在感叹号 解决:第 ...
- [51nod1325]两棵树的问题
description 题面 solution 点分治+最小割. 点分必选的重心,再在树上dfs判交,转化为最大权闭合子图. 可以做\(k\)棵树的情况. code #include<iostr ...
- [洛谷P2408]不同子串个数
题目大意:给你一个字符串,求其中本质不同的字串的个数 题解:同[洛谷P4070][SDOI2016]生成魔咒,只要最后再输出就行了 卡点:无 C++ Code: #include <cstdio ...
- POJ2318:TOYS——题解
http://poj.org/problem?id=2318 题目大意:给一个大矩形,分成n+1份,求落在每一份的点的数量. —————————————————— 首先叉积可以判断一个点在边界的左边还 ...
- BZOJ5251:[九省联考2018]劈配——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=5251 https://loj.ac/problem/2477 <-可以看数据 https: ...
- HHVM,高性能的PHP执行引擎
HHVM (HipHop Virtual Machine) 是 Facebook 开源的 PHP 执行引擎. HHVM 采用一种JIT(just-in-time)的编译机制实现了高性能,同时又保持对 ...
- Linux 第30天: (08月5日) 练习和作业
变量脚本 1.编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小 server_ip=`if ...
- HDU 5656
CA Loves GCD Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)To ...