蓝桥杯管道

        一开始拿到这道题没有什么头绪。综合各路大佬题解,一下子豁然开朗。

        题眼:每一段感受器都感受到水的最早时间。由于整个管道,分为多个段,每个段都有一个感受器。所以题眼翻译为:覆盖满整条管道,所需要的最短时间。

        即:最大值最小问题——采用二分法。

        思路:用二分法取时间,然后使用区间覆盖的方法来判断是否在该时刻能够覆盖满整条管道。

拿题目测试数据作为例子。

管道长度为10,设有3个阀门,位置分别为1,6,10;开阀时间分别为1,5,2。

最短时刻取0,最长时刻取2*10(为了方便演示,就不取2倍管道最大长度了。这是易错点,解释一下为什么取2倍管道最大长度,而不取1倍管道最大长度:假设有一个管道长为1e9,仅有一个阀门,阀门位于最右侧10e9的位置,且开阀时间取到最晚为1e9。那么覆盖完整个管道,所需时间就是2*1e9。)。mid = 10,阀门1的覆盖区间为[1-(10-1),1+(10-1)],即[1,10]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值