动归(活动安排问题类似)

英仙座流星雨(学名Perseids)是以英仙座γ星附近为辐射点出现的流星雨,也称英仙座γ流星雨。每年在7月20日至8月20日前后出现,于8月13日达到高潮。与象限仪座流星雨、双子座流星雨并称为北半球三大流星雨。

暑假到了,又是一个去看流星雨的好季节。
看流星雨最重要的是什么?当然是许愿。
当一颗流星出现时,可以对其许愿。

你一次可以选择一颗流星进行许愿,每一个愿望都需要一定的时间才能说完,而且中间不能有中断。
但是流星的持续时间通常都很短,很难在流星消失之前把自己的一个愿望说完。
你可以朝着新出现的流星接着许上一个未许完的愿望,当且仅当前一颗流星消失的瞬间另外一颗流星同时出现,
你不可以在一颗流星还在出现的时候转向其他的流星,这样流星之神会生气,厄运会降临
现在给你每颗流星出现和结束的时间,问你许一个愿望的最大时长是多少?

#include<iostream>
#include<algorithm>
using namespace std;
struct node {
    int s;
    int e;
} a[1000005];
bool cmp(node a, node b) {
    return a.s < b.s;
}
int dp[1000005];
int main() {
    int n, ans = 0;
    cin >> n;
    for(int i = 0; i < n; i++) {
        cin >> a[i].s >> a[i].e;
    }
    sort(a, a+n, cmp);
    for(int i = 0; i < n; i++) {
        dp[a[i].e] = max(dp[a[i].e], dp[a[i].s]+a[i].e-a[i].s);
        ans = max(ans, dp[a[i].e]);
    }
    cout << ans << endl;
    return 0;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值