比较直观的费用流模型

码:

#include<iostream>
#include<cstdio>
#include<queue>
#include<cstring>
using namespace std;
#define inf 1e9
queue<int>q;
int s,t,tot=-1,qj[202],S,xia[202],hou[2002],zhong[2002],i,j,x,n,m;
long long ans,v[2002],co[2002],d[202];
bool vis[202];
void jian(int a,int b,int c,int d)
{++tot;hou[tot]=xia[a],xia[a]=tot,zhong[tot]=b,v[tot]=c,co[tot]=d;
}
void jia(int a,int b,int c,int d)
{jian(a,b,c,d);jian(b,a,0,-d);
}
bool spfa()
{for(i=1;i<=t;i++)d[i]=inf;d[s]=0;qj[s]=-1;q.push(s);while(!q.empty()){int st=q.front(),i;vis[st]=0;q.pop();for(i=xia[st];i!=-1;i=hou[i]){if(v[i]<=0)continue;int nd=zhong[i];if(d[nd]>d[st]+co[i]){d[nd]=d[st]+co[i];qj[nd]=i;if(vis[nd]==0)vis[nd]=1,q.push(nd);}}}if(d[t]==inf)return 0;int o=qj[t];long long minn=inf;while(o!=-1){minn=min(minn,v[o]);o=qj[zhong[o^1]];       }o=qj[t];while(o!=-1){v[o]-=minn;v[o^1]+=minn;ans+=minn*co[o];o=qj[zhong[o^1]];     }return 1;
}
long long mcmf()
{while(spfa());return ans;
}
int main()
{memset(xia,-1,sizeof(xia));scanf("%d%d%d",&n,&m,&S);s=n*2+1;t=n*2+2;for(i=1;i<=n;i++)scanf("%d",&x),jia(n+i,t,x,0);for(i=1;i<=n;i++)scanf("%d",&x),jia(s,i,inf,x);for(i=1;i<n;i++)jia(n+i,i+1,S,m);for(i=1;i<=n;i++)jia(i,i+n,inf,0);printf("%lld",mcmf());
}

bzoj2424 [HAOI2010]订货 费用流相关推荐

  1. BZOJ2424: [HAOI2010]订货

    从0到i建容量为U[i],费用为零的边.(订货) 从i到n+1容量无限,费用为的的d[i]边.(售出) 从i到i+1容量为S,费用为m的边.(存贮) 然后跑费用流就好了. #include<cs ...

  2. BZOJ2424 [HAOI2010]订货

    裸的费用流.... 建图方法:把每个月抽象成一个点 S向每个点连边,费用为当月购进价,容量无限大:每个点向T连边,费用为0,容量为当月卖出量 每个点向后一个月的点连边,费用为仓库储存费用m,容量为仓库 ...

  3. [BZOJ 2424][HAOI2010]订货(费用流)

    Description 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付存贮费用m,假定第一月月初的库存量为零,第n月月底的库存量也为 ...

  4. bzoj 2424: [HAOI2010]订货(费用流)

    2424: [HAOI2010]订货 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 784  Solved: 541 [Submit][Status ...

  5. [HAOI2010]订货 洛谷2517 BZOJ2424

    题目描述 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付存贮费用m,假定第一月月初的库存量为零,第n月月底的库存量也为零,问如何安排 ...

  6. 图论-网络流⑦-费用流解题

    图论-网络流⑦-费用流解题 上一篇:图论-网络流⑥-费用流 下一篇:图论-网络流⑧-有上下界的网络流 参考文献: https://www.luogu.com.cn/blog/user9012/solu ...

  7. [HAOI2010]订货

    题目描述 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付存贮费用m,假定第一月月初的库存量为零,第n月月底的库存量也为零,问如何安排 ...

  8. bzoj 2424: [HAOI2010]订货

    Description 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付存贮费用m,假定第一月月初的库存量为零,第n月月底的库存量也为 ...

  9. [BZOJ 1221][HNOI2001]软件开发(费用流)

    Description 某软件公司正在规划一项n天的软件开发计划,根据开发计划第i天需要ni个软件开发人员,为了提高软件开发人员的效率,公司给软件人员提供了很多的服务,其中一项服务就是要为每个开发人员 ...

最新文章

  1. Xamarin iOS教程之编辑界面编写代码
  2. 高度可扩展的类脑神经拟态硬件,完成了字母识别和人脸识别
  3. 【数据可视化应用】华夫饼型柱状图(附R语言代码)
  4. 在SAP ABAP 里consume webservice的全过程
  5. python3软件怎么用_Python3学习之路~4.4 软件目录结构规范
  6. lammps计算聚合物例子_LAMMPS模拟聚合物结构,非晶态聚合物变形行为的模拟,纳米线变形模拟,单轴张力模拟,晶格参数计算...
  7. Delphi 取整函数round、trunc、ceil和floor
  8. [C编程在Linux上]用printf做彩色日志记录
  9. Unity Module Manager 模块管理器
  10. 图像匹配论文总结(一)
  11. LayUI实现Checkbox复选框的单选及取消单选,即只能选一个或者全都不选
  12. 曲面积分的投影法_第二型曲面积分的投影法与对称性
  13. solidworks 32位计算机,SolidWorks2016
  14. table表格tr、td、合并、间距、边框合并、设置边距 代码
  15. Java学习—初入Java
  16. week6:Diagnosing Bias vs. Variance难点记录
  17. 冯诺伊曼出生日期星期几_天才冯·诺依曼与冯·诺依曼瓶颈
  18. ShareSDK iOS端微信如何获取authcode值
  19. 疯狂java讲义pdf百度云,成功入职阿里
  20. fitbit同步不了怎么解决_怎么处理Fitbit 后台同步错误信息?

热门文章

  1. 服务器虚拟化的培训,VMware服务器虚拟化及桌面虚拟化培训.pptx
  2. rebase冲突解决
  3. java 注解: Annotation
  4. Mac系统下安装MySQL详细步骤
  5. day19 java数组的常用算法和排序
  6. 前端中实时显示当前时间的js代码
  7. 高考生男生学铁路好还是计算机好,解析为什么说男生读铁路学校好呢
  8. linux snap文件夹,SNAP 文件扩展名: 它是什么以及如何打开它?
  9. 农场管理系统设计与实现php,农场农产品网站的设计与实现(PHP,MySQL)(含录像)
  10. 树叶节点_茶,一片树叶的旅程