E - Minimum Cost - POJ 2516(最小费)

分析:第一次做的时候想到把供应商的每种商品和客户的需求的每种商品直接连接然后求最大流,不过CE了,想着数据都是50也不大,不过仔细一想 50*50*50那就很大了,我的数组只开了500....然后想了一下觉得边是非常少的于是换成了邻接矩阵储存,然后果断给了一个TLE,下面是超时代码

#include<;
;
];
; i<=End; i++)
dist[i] = oo, pre[i]=-;
dist[start] = ;
; i=edge[i].next)
{
, cost=;
; i=pre[edge[i].u])
MinFlow = min(MinFlow, edge[i].flow);
; i=pre[edge[i].u])
{
edge[i].flow -= MinFlow;
edge[i^].flow += MinFlow;
cost += edge[i].cost;
}
MaxFlow += MinFlow;
}
;
, End = start+;
; i<=End; i++)
Head[i] = -;
cnt = ;
; i<N; i++)
; j<=K; j++)
{);
AddEdge(End, nk, , );
needFlow += x;
}
; i<M; i++)
; j<=K; j++)
{);
AddEdge(mk, start, , );
}
; k<=K; k++)
; i<N; i++)
; j<M; j++)
{, -x);
}
MinCost(start, End, needFlow);
}
;
}
然后就有些不知该怎么搞,只能向大神求助,看了别人的思路,原来这是多源多汇的费用流问题,看到这里也就明白了怎么做把K种商品拆开,对每一种商品进行最小费处理,这样图只有100*100,然后最多操作50次,很容易就求出来了结果。下面是AC代码。

#include<;
;
};
; i<=End; i++)
dist[i] = oo;
dist[start] = ;
; i<=End; i++)
{
, cost=, pre[MAXN]={};
;
;
; i<=N; i++)
; j<=K; j++)
{; i<=M; i++)
; j<=K; j++)
{; k<=K; k++)
{, ; i<=N; i++)
; j<=M; j++)
{, End = start+;
;; i<=M; i++)
{; i<=N; i++)
{)
ok = ;
printf(;
}
E - Minimum Cost - POJ 2516(最小费)的更多相关文章
- kuangbin专题专题十一 网络流 Minimum Cost POJ - 2516
题目链接:https://vjudge.net/problem/POJ-2516 思路:对于每种商品跑最小费用最大流,如果所有商品和人一起建图跑,O(v^2*m)数量级太大,会超时. 把店里的商品拆点 ...
- Minimum Cost POJ - 2516(模板题。。没啥好说的。。)
题意: 从发货地到商家 送货 求送货花费的最小费用... 有m个发货地,,,n个商家,,每个商家所需要的物品和物品的个数都不一样,,,每个发货地有的物品和物品的个数也不一样,,, 从不同的发货地到不同 ...
- Minimum Cost POJ - 2516 (模板题 spfa最小费用最大流)
题意: 人回家,一步一块钱,有x个人,y个房子,求能回家的最大人数且使之费用最小 解析: 就是....套模板,,,, 建图(⊙﹏⊙)...要仔细观察呐 对于人拆不拆都可以 都能过,,,,这里贴上拆开 ...
- POJ 2516 Minimum Cost (网络流,最小费用流)
POJ 2516 Minimum Cost (网络流,最小费用流) Description Dearboy, a goods victualer, now comes to a big problem ...
- Poj 2516 Minimum Cost (最小花费最大流)
题目链接: Poj 2516 Minimum Cost 题目描述: 有n个商店,m个仓储,每个商店和仓库都有k种货物.嘛!现在n个商店要开始向m个仓库发出订单了,订单信息为当前商店对每种货物的需求 ...
- POJ 2516 Minimum Cost (最小费用最大流)
POJ 2516 Minimum Cost 链接:http://poj.org/problem?id=2516 题意:有M个仓库.N个商人.K种物品.先输入N,M.K.然后输入N行K个数,每一行代表一 ...
- POJ - 2516 Minimum Cost 每次要跑K次费用流
传送门:poj.org/problem?id=2516 题意: 有m个仓库,n个买家,k个商品,每个仓库运送不同商品到不同买家的路费是不同的.问为了满足不同买家的订单的最小的花费. 思路: 设立一个源 ...
- POJ 2516 Minimum Cost (费用流)
题面 Dearboy, a goods victualer, now comes to a big problem, and he needs your help. In his sale area ...
- POJ 2516 Minimum Cost 最小费用流 难度:1
Minimum Cost Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 13511 Accepted: 4628 Des ...
随机推荐
- HDU 4462(暴力枚举)
因为题目当中的k比较小k <= 10,所以可以直接枚举,题目里面由两个trick, 一个是如果每个点都可以放稻草人的话,那么答案是0, 另外一个就是如果可以放稻草人的点不用被照到.知道了这两个基 ...
- HDU5308-脑补-对拍
先贴上对拍的结果: 感想:可以明显发现下标相差1的关系,所以对付这种需要大量脑补的水题,真的蛋疼,以前没用过对拍,只知道有这么回事,调程序什么的都是手算,人工模拟(经常大脑发热,严重缺氧不足),所以试 ...
- JS获取客户端的窗口大小
function getClientSize() { var c = window, b = document, a = b.documentElement; if (c.in ...
- git 的记住用户名和密码和一些常用
git config --global core.autocrlf falsegit config --global color.ui truegit config --global credenti ...
- (转)php中GD库的配置,解决dedecms安装中GD不支持问题
了解gd库 在php中,使用gd库来对图像进行操作,gd库是一个开放的动态创建的图像的源代码公开的函数库,可以从官方网站http://www.boutell.com/gd处下载.目前,gd库支持gif ...
- IDEA14下配置SVN
本来以为是很简单的事情,没想到也浪费我有一会的时间,中间也出现了多多少少的问题. 1.在官网下载SVN,版本要为1.8,切忌不能1.9,否则会出错. 在安装SVN的时候,不能一路下一步,我们要安装命令 ...
- 关于#include后面<>和" "的区别
1.以尖括号制定头文件,如下所示: #include <stdio.h> 用尖括号来制定文件时,预处理器是以特定的方式来寻找文件,一般是环境中或编译器命令行指定的某种寻找路径.这种设置寻找 ...
- 【USACO 3.2.2】二进制数01串
[描述] 考虑排好序的N(N<=31)位二进制数. 你会发现,这很有趣.因为他们是排列好的,而且包含所有可能的长度为N且含有1的个数小于等于L(L<=N)的数. 你的任务是输出第I(1&l ...
- 绘图时,根据size()和自定义rect编程的区别
在绘图的时候,很多时候编写的代码需要根据当前窗口自身的size来进行绘制,这个时候可以添加一个额外的中间rect来做过度,这样以后的绘图机制不会 随着size的变化而不断变化.你的处理逻辑可以保持不变 ...
- 安装 php-gd
安装cmd提示不支持GD模块,不能使用缩略图功能,需要安装php-gd 1.安装 php-gd yum list php-gd yum install php-gd 2.重启 httpd servic ...