[haoi2010]订货 最小费用流
这道题oj上的标签是动态规划,但我想不出来动态规划怎么搞,空间不爆,时间也要爆的;
好的,不扯淡,此题正常做法是最小费用流;
这道题我写了两遍,为什么呢?原因是第一次写的时候,不会写费用流,又恰好没带书,所以搁置了;
第二次又写到这道题了,有点生气,一鼓作气学了费用流,紧跟着敲了这道题;
也算一道费用流模板吧;
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<string>
using namespace std;
const int maxn=;
const int inf=;
const int S=,T=+;
struct node{
int x,y,next,flow,v,re;
}e[maxn];
int linkk[maxn],len=,n,m,s,u[maxn],c[maxn];
void insert(int x,int y,int flow,int v){
e[++len].x=x;
e[len].y=y;
e[len].v=v;
e[len].flow=flow;
e[len].next=linkk[x];
e[len].re=len+;
linkk[x]=len;
e[++len].x=y;
e[len].y=x;
e[len].flow=;
e[len].v=v;
e[len].next=linkk[y];
e[len].re=len-;
linkk[y]=len;
}
void init(){
scanf("%d%d%d",&n,&m,&s);
for(int i=;i<=n;i++)scanf("%d",&u[i]);
for(int i=;i<=n;i++)scanf("%d",&c[i]);
for(int i=;i<=n;i++){
insert(S,i,inf,c[i]);insert(i,T,u[i],);
}
for(int i=;i<n;i++)insert(i,i+,s,m);
}
int vis[maxn],d[maxn],q[maxn*maxn],head=,tail=,pre[maxn],ans=,cap[maxn],t[maxn];
bool SPFA(){
for(int i=S;i<=T;i++)d[i]=inf<<;
memset(vis,,sizeof(vis));
head=,tail=;
q[++tail]=S;d[S]=;
while(++head<=tail){
int x=q[head];
vis[x]=;
for(int i=linkk[x];i;i=e[i].next){
if(e[i].flow&&d[e[i].y]>d[x]+e[i].v){
d[e[i].y]=d[x]+e[i].v;
cap[e[i].y]=e[i].flow;
t[e[i].y]=i;
pre[e[i].y]=x;
if(!vis[e[i].y]){
vis[e[i].y]=;
q[++tail]=e[i].y;
}
}
}
}
if(d[T]==inf<<)return ;
int flow=inf;
for(int i=T;i!=S;i=pre[i])flow=min(flow,cap[i]);
for(int i=T;i!=S;i=pre[i]){
e[t[i]].flow-=flow;
e[e[t[i]].re].flow+=flow;
ans+=e[t[i]].v*flow;
}
return ;
}
void work(){
ans=;
while(SPFA());
cout<<ans<<endl;
}
int main(){
init();
work();
}
[haoi2010]订货 最小费用流的更多相关文章
- 【BZOJ2424】[HAOI2010]订货 最小费用流
[BZOJ2424][HAOI2010]订货 Description 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付存贮费用m,假定 ...
- BZOJ 2424: [HAOI2010]订货
2424: [HAOI2010]订货 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 915 Solved: 639[Submit][Status][ ...
- 2424: [HAOI2010]订货
2424: [HAOI2010]订货 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 922 Solved: 642[Submit][Status][ ...
- BZOJ 2424: [HAOI2010]订货 费用流
2424: [HAOI2010]订货 Description 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付存贮费用m,假定第一月月 ...
- BZOJ 2424: [HAOI2010]订货(最小费用最大流)
最小费用最大流..乱搞即可 ------------------------------------------------------------------------------ #includ ...
- 【BZOJ2424】[HAOI2010]订货(费用流)
[BZOJ2424][HAOI2010]订货(费用流) 题面 BZOJ 洛谷 题解 傻逼费用流吧... 一开始理解错意思了,仓库大小为\(m\)的含义是留到下个月最多为\(m\),而不是任意时刻的容量 ...
- bzoj2424 [HAOI2010]订货 dp+单调性
[HAOI2010]订货 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1311 Solved: 884[Submit][Status][Discu ...
- BZOJ_2424_[HAOI2010]订货_最小费用最大流
BZOJ_2424_[HAOI2010]订货_最小费用最大流 Description 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付 ...
- P2517 [HAOI2010]订货(dp)
P2517 [HAOI2010]订货 设$f[i][j]$表示第$i$个月,库存为$j$的最小代价 枚举上个月的库存$k$,那么$f[i][j]=f[i-1][k]+(j+U[i]-k)*D[i]+j ...
随机推荐
- Jquery note
the purpose: write less. do more 写得少,做更多 jquery 基本选择器, $("p ,div ")匹配所有的P元素和DIV元素 , $(&q ...
- sublime text 3 设置
最近开始用sublime text 3,查资料总结了一下常用的设置,记录下以备用,同时也希望能改大家带来方便 0.使用package control安装,点前边超链接,复制左侧代码到console,回 ...
- HDU1006
Problem Description The three hands of the clock are rotating every second and meeting each other ma ...
- 使用 libevent 和 libev 提高网络应用性能——I/O模型演进变化史
构建现代的服务器应用程序需要以某种方法同时接收数百.数千甚至数万个事件,无论它们是内部请求还是网络连接,都要有效地处理它们的操作. 有许多解决方案,但事件驱动也被广泛应用到网络编程中.并大规模部署在高 ...
- ListView的动态刷新问题——用notifyDataSetChanged没作用
也许很多开发的朋友,尤其是Android初学者(笔者也是个初学者),在动态刷新ListView时,使用notifyDataSetChanged并没有起到作用.有时会被困扰得很痛苦. 其实,在使用not ...
- hdu 2034 人见人爱A-B
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2034 人见人爱A-B Description 参加过上个月月赛的同学一定还记得其中的一个最简单的题目, ...
- hdu 4308 Saving Princess claire_
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4308 Saving Princess claire_ Description Princess cla ...
- ORA-01017 invalid username/password;logon denied" (密码丢失解决方案)
1.先确认是否输错 用户名和密码 2.如果的确是丢失密码的话: 查看sqlnet.ora 如果是 SQLNET.AUTHENTICATION_SERVICES= (NONE) , 需更改为SQLNET ...
- Mac下显示\隐藏所有文件
显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true隐藏Mac隐藏文件的命令:defaults write ...
- [备忘]Asp.net MVC 将服务端Model传递的对象转为客户端javascript对象
<script type="text/javascript"> var jsObject = @Html.Raw(Json.Encode(Model.Objects)) ...