题目链接:https://vjudge.net/problem/POJ-2516 思路:对于每种商品跑最小费用最大流,如果所有商品和人一起建图跑,O(v^2*m)数量级太大,会超时. 把店里的商品拆点,入和出之间是商品库存量,起到限流作用. 源点->人对该商品的需求->库存点入->库存点出->汇点 源点与人之间的边的流为人的需求量,人对商品之间的边的流INF. 源点与人的边设置费用,其他边费用0. #include <iostream> #include <cst…
题目大意:N个客户,M个供货商,K种商品,现在知道每个客户对每种商品的需求量,也知道每个供货商每种商品的持有量,和供货商把一种商品运送到每个客户的单位花费.现在想知道如果能满足所有客户的最小花费是多少,如果不能满足输出 -1 输入详解:(图片引用源自http://blog.csdn.net/lyy289065406/article/details/6742534). 分析:第一次做的时候想到把供应商的每种商品和客户的需求的每种商品直接连接然后求最大流,不过CE了,想着数据都是50也不大,不过仔细…
题意: 从发货地到商家 送货 求送货花费的最小费用... 有m个发货地,,,n个商家,,每个商家所需要的物品和物品的个数都不一样,,,每个发货地有的物品和物品的个数也不一样,,, 从不同的发货地到不同的商家 送不同的物品 所花费的价钱 也不一样.. 解析: 建立超级源s和超级汇t 因为每个商家所需的每个物品的数量都不一样,,,所以我们要分物品来进行最小费用最大流 在最外面一个循环,遍历每一个物品,,,然后对于当前物品建图 把每个发货地和s连边 权值为每个发货地所拥有的当前物品的数量,,,花费0…
题意: 人回家,一步一块钱,有x个人,y个房子,求能回家的最大人数且使之费用最小 解析: 就是....套模板,,,, 建图(⊙﹏⊙)...要仔细观察呐 对于人拆不拆都可以  都能过,,,,这里贴上拆开的代码.... #include <iostream> #include <cstring> #include <cstdio> #include <cmath> #include <algorithm> #include <queue>…
题目链接:https://vjudge.net/problem/POJ-2195 思路:曼哈顿距离来求每个人到每个房间的距离,把距离当作费用. 就可以用最小费用最大流来解决了,把每个房子拆成两个点,限流. 源点->人->房入->房出->汇点.流量的话都设置为1,起到限流作用. #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #i…
        ID Origin Title   34 / 81 Problem A POJ 3436 ACM Computer Factory   92 / 195 Problem B POJ 3281 Dining   55 / 148 Problem C POJ 1087 A Plug for UNIX   59 / 111 Problem D POJ 2195 Going Home   44 / 132 Problem E POJ 2516 Minimum Cost   35 / 72…
首先是几份模版 最大流:虽然EK很慢但是优势就是短.求最小割的时候可以根据增广时的a数组来判断哪些边是割边.然而SAP的最大流版我只会套版,并不知道该如何找到这个割边.在尝试的时候发现了一些问题.所以暂且搁下.这个问题目前先就EK把 struct Edge { int u,v,next; LL cap,flow; }edge[MAXM]; int head[MAXN],tot; void add_edge(int u,int v,LL cap) { edge[tot].u = u; edge[t…
A - ACM Computer Factory 题目描述:某个工厂可以利用P个部件做一台电脑,有N个加工用的机器,但是每一个机器需要特定的部分才能加工,给你P与N,然后是N行描述机器的最大同时加工数目Q,输入部件要求和输出部件状态,问单位时间内最多可以做多少台机器,再输出运输路线和每一条路线上的待加工机器个数 解题思路:由于机器有最大流量,又是一个点,因此要拆点成一条边,然后构建源点S和汇点T,若一个机器对输入没有任何要求(只有2或0),则从S连一条边到该机器,流量为Q:若一个机器的输出全为1…
POJ 2516 Minimum Cost (网络流,最小费用流) Description Dearboy, a goods victualer, now comes to a big problem, and he needs your help. In his sale area there are N shopkeepers (marked from 1 to N) which stocks goods from him.Dearboy has M supply places (marke…
Leetcode之动态规划(DP)专题-983. 最低票价(Minimum Cost For Tickets) 在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行.在接下来的一年里,你要旅行的日子将以一个名为 days 的数组给出.每一项是一个从 1 到 365 的整数. 火车票有三种不同的销售方式: 一张为期一天的通行证售价为 costs[0] 美元: 一张为期七天的通行证售价为 costs[1] 美元: 一张为期三十天的通行证售价为 costs[2] 美元. 通行证允许数天无限制的旅…