BZOJ2424 [HAOI2010]订货 - 费用流
题解
(非常裸的费用流
题意有一点表明不清: 该月卖出的商品可以不用算进仓库里面。
然后套上费用流模板
代码
#include<cstring>
#include<queue>
#include<cstdio>
#include<algorithm>
#define rd read()
#define rep(i,a,b) for(int i = (a); i <= (b); ++i)
using namespace std; const int N = 1e4;
const int inf = ; int n, m, maxin;
int nd[N], cost[N], head[N], tot, S, T = N - , maxflow, minco;
int dis[N], pre[N], vis[N]; queue<int> q; struct edge {
int nxt, val, to, c;
}e[N]; int read() {
int X = , p = ; char c = getchar();
for(; c > '' || c < ''; c = getchar()) if(c == '-') p = -;
for(; c >= '' && c <= ''; c = getchar()) X = X * + c - '';
return X * p;
} int ch(int x) {
return ( (x + ) ^ ) - ;
} void added(int fr, int to, int val, int c) {
e[++tot].to = to;
e[tot].val = val;
e[tot].c = c;
e[tot].nxt = head[fr];
head[fr] = tot;
} void add(int fr, int to, int val, int c) {
added(fr, to, val, c);
added(to, fr, , -c);
} int bfs() {
memset(dis, , sizeof(dis));
memset(vis, , sizeof(vis));
memset(pre, , sizeof(pre));
dis[S] = ;
vis[S] = ;
q.push(S);
for(int u, nt; !q.empty(); ) {
u = q.front(); q.pop();
for(int i = head[u]; i; i = e[i].nxt ) {
nt = e[i].to;
if(dis[nt] <= dis[u] + e[i].c || !e[i].val) continue;
dis[nt] = dis[u] + e[i].c;
pre[nt] = i;
if(!vis[nt]) vis[nt] = , q.push(nt);
}
vis[u] = ;
}
return dis[T];
} void EK() {
for(; bfs() != inf; ) {
int tmp = inf;
for(int i = pre[T]; i; i = pre[e[ch(i)].to]) tmp = min(tmp, e[i].val);
for(int i = pre[T]; i; i = pre[e[ch(i)].to]) e[i].val -= tmp, e[ch(i)].val += tmp;
maxflow += tmp;
minco += tmp * dis[T];
}
} int main()
{
n = rd; m = rd; maxin = rd;
rep(i, , n) nd[i] = rd;
rep(i, , n) cost[i] = rd;
rep(i, , n) {
add(S, i, inf, cost[i]);
add(i, T, nd[i], );
add(i, i + , maxin, m);
}
EK();
printf("%d\n", minco);
}
BZOJ2424 [HAOI2010]订货 - 费用流的更多相关文章
- 【bzoj2424】[HAOI2010]订货 费用流
原文地址:http://www.cnblogs.com/GXZlegend/p/6825296.html 题目描述 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di, ...
- BZOJ 2424: [HAOI2010]订货 费用流
2424: [HAOI2010]订货 Description 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付存贮费用m,假定第一月月 ...
- bzoj2424 [HAOI2010]订货 dp+单调性
[HAOI2010]订货 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1311 Solved: 884[Submit][Status][Discu ...
- BZOJ-2424: [HAOI2010]订货【费用流】
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1487 Solved: 1002[Submit][Status][Discuss] Descript ...
- [HAOI2010][bzoj2424] 订货 [费用流]
题面 传送门 思路 这题其实挺水的......做过餐巾计划问题就能明白,是同一个道理 首先,显然刚刚好满足每一个月的需求,会得到最优解(废话-_-||) 然后我们发现,货物在不同的月之间的转移,可以比 ...
- bzoj2424 [HAOI2010]订货
模拟一下仓库里面存储物品的价格情况即可,如果当前物品大于仓库里面物品那么就替换一下仓库里的物品,然后订货直接从仓库里先取,仓库里不够则直接购买,每次做完后记得买当前物品填补一下仓库直至仓库填满,当然这 ...
- 【BZOJ2424】[HAOI2010]订货(费用流)
[BZOJ2424][HAOI2010]订货(费用流) 题面 BZOJ 洛谷 题解 傻逼费用流吧... 一开始理解错意思了,仓库大小为\(m\)的含义是留到下个月最多为\(m\),而不是任意时刻的容量 ...
- BZOJ 2424: [HAOI2010]订货(最小费用最大流)
最小费用最大流..乱搞即可 ------------------------------------------------------------------------------ #includ ...
- BZOJ_2424_[HAOI2010]订货_最小费用最大流
BZOJ_2424_[HAOI2010]订货_最小费用最大流 Description 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付 ...
随机推荐
- 华为手机如何查看WiFi密码
2017.8.26 (补充) 博主更新华为手机系统之后,发现下面的教程已经不适用了,新系统在备份WLAN时强制要求设置密码,无法跳过,所以下面的教程仅适用于备份时可以跳过设置密码的系统. 有时候手机用 ...
- SSH 在ssh-copy-id 之后仍需输入密码的问题
最近在使用Ansible,基于SSH. 远程服务器IP: 192.168.200.193 以下提及的远程服务器都为该服务器. 远程用户: ansible_user 在本地服务器中,ssh-keygen ...
- faker之python构造虚拟数据
python中可以使用faker来制造一些虚拟数据 首选安装faker pip install Faker 老版的叫法是faker-factory,但是已不适用 使用faker.Factory.cre ...
- Tomcat 支持的Java 版本和兼容性总结
https://tomcat.apache.org/whichversion.html 最新最全的Tomcat 支持的Java版本对照,即兼容性一览表: Servlet Spec JSP Spec ...
- uva140-暴力枚举
题意:任意一个点都至少有一个点与其相连接,所有的点可以进行任意排列,总排列数为n!. 一个点带宽定义与它相连的点的最远距离,一个排列的带宽定义为,点中最大的带宽,找出带宽最小的那个排列,有多组,输出字 ...
- 2013年6月编程语言排行榜,C语言位据第一位
2013年6月编程语言排行榜,C语言位据第一位 C语言是很多主流开发语言的母体,.NET的底层,Java的底层都是C开发的,虽然很多新语言来势汹汹,但究其根源,都脱离不开C语言
- js中使用cookie
function setcookie(name, value, expires, path, domain, secure) { var cookieText = encodeURIComponent ...
- redis启动.停止.重启
Linux下安装 ]# wget http://download.redis.io/releases/redis-2.8.17.tar.gz ]# tar xzf redis-2.8.17.tar.g ...
- while
public class TestWhile { /** * 测试循环 */ public static void main(String[] args) { int a=1; while(a< ...
- SQL 数据库主键 ,外键
主键 数据库主键是指表中一个列或列的组合,其值能唯一地标识表中的每一行.这样的一列或多列称为表的主键,通过它可强制表的实体完整性.当创建或更改表时可通过定义 PRIMARY KEY约束来创建主键.一个 ...