伟大的航线 [set / 代码待补]

探讨了在无法中途停留的河流穿越中,如何计算角色Noder能成功通过的最长持续时间。通过分析船只对Noder时间区间的影响,利用std::set维护区间并求补集,最终找到最长的可行时间段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

伟大的航线伟大的航线线




正解部分\color{red}{正解部分}

题意:题意::

NoderNoderNoder 在穿越河流时不能停止, 所以出发的时间点决定了 NoderNoderNoder 是否能够通过河流, 问能够通过河流的最长持续时间.

下面考虑一艘船对 NoderNoderNoder 时间区间的影响, 设船头 t1t_1t1 到达过河线, 船尾 t2t_2t2, NoderNoderNoder t3t_3t3 到达该船航道, 则从下图可以看出,

时间区间 [t1−t3,t2−t3][t_1-t_3,t_2-t_3][t1t3,t2t3] NoedrNoedrNoedr 不能通过河流 .

这个结论对其他船来说也成立, 所以预处理出所有的这样区间, 使用 std::set<pair> 维护区间的 ∪∪, 然后再求补集区间的最长长度即可 .


实现部分\color{red}{实现部分}

代码待补, 咕咕咕


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值