首页 > TAG信息列表 > P1251
P1251 餐巾计划问题 (费用流)
题目链接 方法: 重点在建图!!!将一天拆成晚上和早上; 1. 从源点向每一天晚上连一条流量为当天所用餐巾x,费用为0的边; 2. 每一天早上向汇点连一条流量为当天所用餐巾x,费用为0的边; 3. 从每一天晚上向第二天晚上连一条流量为INF,费用为0的边,表示每天晚上可以将脏餐巾留到第二天晚上P1251 餐巾计划问题
题面 一道特别棒的费用流好题,思路非常巧妙 对于每一天,我们分为早上和晚上两个节点 每天早上会消耗\(r_i\)条干净的毛巾,可以视为流向汇点,所以我们向汇点连一条流量为\(r_i\),费用为\(0\)的边 每天晚上会产生\(r_i\)条脏毛巾,可以视为从源点流出,所以我们从源点连一条流量为\(r_i\),费【费用流】【网络流24题】【P1251】 餐巾计划问题
Description 一个餐厅在相继的 \(N\) 天里,每天需用的餐巾数不尽相同。假设第 \(i\) 天需要 \(r_i\)块餐巾。餐厅可以购买新的餐巾,每块餐巾的费用为 \(p\) 分;或者把旧餐巾送到快洗部,洗一块需 \(m\) 天,其费用为 \(f\) 分;或者送到慢洗部,洗一块需 \(n\) 天(\(n>m\)),其费用为 \(洛谷P1251餐巾计划问题
题目 洛谷P1251餐巾计划问题 题解 拆点,一个点表示一天开始,另一个点表示一天结束,具体建图方法见注释。 然后用EK算法跑费用流。 代码 #include <iostream> #include <cstdio> #include <cmath> #include <cstring> #include <algorithm> #include <queue> #include <stack> #inclP1251 餐巾计划问题
传送门 想象一下餐巾的转移,从前一天到后一天,从外面买来,送到其他地方去洗然后过几天回来 发现很像一个流 所以考虑构建网络流模型 建立一个源点 $S$ ,和汇点 $T$ 然后显然我们要按时间拆点,把每天的餐馆拆成早上和晚上,早上送走干净餐巾,晚上得到脏餐巾 每天早上向 $T$ 连一条流量为当天