P2082 区间覆盖(加强版)

Posted $mathcal{Lance1ot}$

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P2082 区间覆盖(加强版)相关的知识,希望对你有一定的参考价值。

题目

#include<iostream> 
#include<algorithm>
#include<cstring>
using namespace std;
struct node
{
    long long l;
    long long r;
};
node data[100000];
bool compare(const node&a,const node &b)
{
    if(a.l!=b.l)
        return a.l<b.l;
    return a.r<b.r;
}
int main()
{
    long long n;
    //scanf("%lld",&n);
    cin.sync_with_stdio(false);
    cin>>n;
    for(int i=1;i<=n;i++)
        //scanf("$lld%lld",&data[i].l,&data[i].r);
        cin>>data[i].l>>data[i].r;
    sort(data+1,data+1+n,compare);
    long long last=0;
    long long ans=0;
    for(long long i=1;i<=n;i++)
        if(data[i].r>=last)
        {
            ans+=data[i].r-max(last,data[i].l)+1;
            last=max(last,data[i].r)+1;
        }
    //printf("%lld",ans);
    cout<<ans;
}

以上是关于P2082 区间覆盖(加强版)的主要内容,如果未能解决你的问题,请参考以下文章

LOJ 6057 - [HNOI2016]序列 加强版再加强版

noip模拟测试11

bzoj3551 Peaks加强版 题解

贪心算法----区间覆盖问题(POJ2376)

分块试水--CODEVS5037 线段树练习4加强版

「刷题」GERALD07加强版