博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj 2424: [HAOI2010]订货 (费用流)
阅读量:6238 次
发布时间:2019-06-22

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

直接费用流,天数就是点数

 

type  arr=record    toward,next,cap,cost:longint;  end;const  maxm=200000;  maxn=200;  mm=1<<30;var  edge:array[0..maxm]of arr;  first,slack,d:array[0..maxn]of longint;  chose:array[0..maxn]of boolean;  n,maxflow,maxcost,s,t,tot,esum:longint; function min(x,y:longint):longint;begin  if x
=0 do begin too:=edge[i].toward; value:=edge[i].cost; if (edge[i].cap>0) and (not chose[too]) then if d[x]=d[too]+value then begin more:=aug(too,min(flow-now,edge[i].cap)); dec(edge[i].cap,more); inc(edge[i xor 1].cap,more); inc(now,more); if flow=now then exit(flow); end else slack[too]:=min(slack[too],d[too]+value-d[x]); i:=edge[i].next; end; exit(now);end; function rel:boolean;var i,spent:longint;begin spent:=maxlongint; for i:=1 to tot do if not chose[i] then spent:=min(spent,slack[i]); if spent>=mm then exit(false); for i:=1 to tot do if chose[i] then inc(d[i],spent); exit(true);end; procedure into;var i,j,k,m,sum:longint;begin esum:=-1; fillchar(first,sizeof(first),255); readln(n,m,sum); tot:=n+2; s:=tot-1; t:=tot; for i:=1 to n do begin read(j); addedge(i,t,j,0); end; for i:=1 to n do begin read(j); addedge(s,i,maxlongint,j); end; for i:=1 to n-1 do addedge(i,i+1,sum,m);end; begin into; fillchar(d,sizeof(d),0); maxflow:=0; maxcost:=0; repeat fillchar(slack,sizeof(slack),$7f); repeat fillchar(chose,sizeof(chose),false); until aug(s,maxlongint)<=0; until not rel; writeln(maxcost); readln; readln;end.
View Code

 

转载于:https://www.cnblogs.com/Macaulish/p/4358185.html

你可能感兴趣的文章
python环境配置
查看>>
使用uWSGI部署django项目
查看>>
Senparc.Weixin.MP.Sample 配置redis服务器密码
查看>>
RouteData
查看>>
Java集合的10个最常见问题
查看>>
【转】JSP中的9大隐藏对象
查看>>
如何用MathType编辑下丁字符号出来
查看>>
WEB前端开发成长指南
查看>>
代理模式
查看>>
PHP正则表达式详解(三)
查看>>
linux 内核 2.5-4.7 版本change
查看>>
java的ArrayList使用方法
查看>>
十招让Ubuntu 16.04用起来更得心应手
查看>>
awk笔记1
查看>>
Maven for Eclipse 第三章 ——创建和导入 Maven 项目
查看>>
js jquery中 的数据类型
查看>>
DenyHosts安装及配置
查看>>
表单多文件上传样式美化 && 支持选中文件后删除相关项
查看>>
利用Axis2默认口令安全漏洞可入侵WebService网站
查看>>
java-----基本数据类型包装类
查看>>