这道题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]订货 最小费用流的更多相关文章

  1. 【BZOJ2424】[HAOI2010]订货 最小费用流

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

  2. BZOJ 2424: [HAOI2010]订货

    2424: [HAOI2010]订货 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 915  Solved: 639[Submit][Status][ ...

  3. 2424: [HAOI2010]订货

    2424: [HAOI2010]订货 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 922  Solved: 642[Submit][Status][ ...

  4. BZOJ 2424: [HAOI2010]订货 费用流

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

  5. BZOJ 2424: [HAOI2010]订货(最小费用最大流)

    最小费用最大流..乱搞即可 ------------------------------------------------------------------------------ #includ ...

  6. 【BZOJ2424】[HAOI2010]订货(费用流)

    [BZOJ2424][HAOI2010]订货(费用流) 题面 BZOJ 洛谷 题解 傻逼费用流吧... 一开始理解错意思了,仓库大小为\(m\)的含义是留到下个月最多为\(m\),而不是任意时刻的容量 ...

  7. bzoj2424 [HAOI2010]订货 dp+单调性

    [HAOI2010]订货 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1311  Solved: 884[Submit][Status][Discu ...

  8. BZOJ_2424_[HAOI2010]订货_最小费用最大流

    BZOJ_2424_[HAOI2010]订货_最小费用最大流 Description 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付 ...

  9. 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 ...

随机推荐

  1. 图片加载与缓存利器(自动缓存)--第三方开源-- Glide

    Android Glide使用便利,短短几行简单明晰的代码,即可完成大多数图片从网络(或者本地)加载.显示的功能需求. 使用Android Glide,需要先下载Android Glide的库,And ...

  2. Laravel 5 基础(六)- 数据库迁移(Migrations)

    database migrations 是laravel最强大的功能之一.数据库迁移可以理解为数据库的版本控制器. 在 database/migrations 目录中包含两个迁移文件,一个建立用户表, ...

  3. java android 访问DELPHI 的DATASNAP

    最新版的DELPHI开发DATASNAP非常简单便捷,DataSnap的REST风格和对JSON的支持,使之成为服务器端开发的神器. 一.DATASNAP服务器中的方法: TServerMethods ...

  4. How to get Financial Dimension Value from Worker Position[AX2012]

    To get financial dimension value from worker position, add a new method in hcmWorker Table with scri ...

  5. C#高级功能(四)扩展方法和索引

    扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用.扩展方法被定义为静态方法,但 ...

  6. 大话RAC介质恢复---只有备份文件的恢复

    场景:Oracle 10g RAC:数据文件.控制文件.联机日志.参数文件都使用ASM,归档到ASM.完整备份后,删除所有控制文件.联机日志.数据文件:最后利用备份进行不完全恢复. 1.模拟灾难场景( ...

  7. MySQL自用脚本(不定期更新)

    查询指定SQL的trace信息 mysql -uUSER -pPWD -hHOST -e "\ use ins_tc_prd; \ set session optimizer_trace=' ...

  8. Oracle 手动收集统计信息

    收集oracle统计信息 优化器统计范围: 表统计: --行数,块数,行平均长度:all_tables:NUM_ROWS,BLOCKS,AVG_ROW_LEN: 列统计: --列中唯一值的数量(NDV ...

  9. jquery mobile最棘手的一个问题

    大多数jquery mobile开发的妹子们都碰到过这个问题: 如何调用loading效果   这里给出一段代码,赶紧练手吧. //显示loading function showLoading(){ ...

  10. Python2安装说明

    1.Python版本 Python 2.x的版本的,被称为Python2:是目前用的最广泛的,比如Python 2.7.12. Python 3.x的版本的,被称为Python3:是最新的版本的,比如 ...