P2439 [SDOI2005]阶梯教室设备利用 And P1868 饥饿的奶牛 题解

本文探讨了如何使用动态规划解决【P2439】中的演讲时段选择问题,通过排序和二分查找优化时间复杂度至O(nlogn),并介绍了两种不同优化版本的代码实现。【P1868】中的限制使得这种方法有效,同时强调了处理重复端点和时间计算的注意事项。
摘要由CSDN通过智能技术生成

【题目链接】

P2439
P1868

【解题思路】

我们先来思考【P2493】,考虑用动态规划来做。

为了使动态规划没有后效性,我们需要先对演讲的时间按照一定的顺序来排序,这样我们就可以保证动态规划是单调递增的。

我们按照右端点从小到大排,到时后就可以找出一个第一个比左端点大的,就可以进行状态转移。

我们定义 d i d_i di 为排序后前 i i i 个演讲的最长时间,则 d i = d_i= di= 不选当前演讲即 d i − 1 d_{i-1} di1,以及在前面选一个结束时间可以接上当前开始时间的数中的最大值。

动态转移方程
d i = max ⁡ ( max ⁡ j = 1 i − 1 { d j + t 2 i − t 1 i } , d i − 1 ) d_{i}=\max(\max\limits{_{j=1}^{i-1}}\{d_{j}+t2_i-t1_i\},d_{i-1}) di=max(maxj=1i1{ dj+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值