【HDU】 2883 kebab(最大流+时间段离散化)

思路:这道题目应该说看懂题意很重要。看懂之后就很简单了。

 有一个烧烤机,每个单位时间最多能烤 m 块肉,现在有 n 个人来买烤肉,每个人到达时间为 si,离开时间为 ei,点的烤肉数量为 ci,点的烤肉所需烘烤时间为 di,其实这边的ci和di有点描述的不清楚。明白一点的描述应该说的是,点的烤肉体积为ci,需要等待的时间为di。

          每个人要烤的肉可以分成若干份在同时烤,问是否存在一种方案可以满足所有顾客的需求。

这边所用到的技巧是,将时间段离散化,方法是将结束时间和开始时间一起从小到大排序,就可以得到所有的时间段。这个时间段向超级汇点走的最大流量为时间间隔dis*n(每单位时间可以烤的肉的数量)

每一个顾客可以向合适的一个时间段内走流量,最后判断总流量是否等于需求的数量就可以了。

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值