1624: 安排电视节目(PIPIPOJ)

1624: 安排电视节目(PIPIPOJ)

题目描述

PIPI在电视台工作,他今天要安排一些电视节目的播放顺序。

其中可能有一些电视节目在时间上是冲突的,因此PIPI需要放弃一些节目。

请问PIPI最少需要放弃多少个节目才能使得剩下的节目没有冲突。

每个电视节目有一个开始时间和一个结束时间,一个节目结束后可以立即播放下一个节目。

输入

多组输入。

第一行输入节目数量n(1<=n<=1e5)。

接下来n行输入每个节目的开始时间和结束时间。

输出

对于每组输入,输出需要放弃节目的最少数量。

样例输入

3

1 3

2 5

3 6

3

1 1

1 1

1 1

3

-100000 1

-100000 100

-1000000 -1000

样例输出

1

0

2

题解1(C++版本)

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
 
struct Show {
    int l, r;
} a[100005];
 
bool cmp(Show x, Show y) {
    return x.r < y.r; // 按结束时间升序,无需额外判断
}
 
int main() {
    int n;
    while (scanf("%d", &n) != EOF) {
        for (int i = 0; i < n; i++) {
            scanf("%d%d", &a[i].l, &a[i].r);
        }
         
        sort(a, a + n, cmp);
         
        int cnt = 0;
        int lastR = -1e9; // 初始化为-1e9,兼容所有非负时间
        for (int i = 0; i < n; i++) {
            if (a[i].l >= lastR) {
                cnt++;
                lastR = a[i].r;
            }
        }
         
        printf("%d\n", n - cnt);
    }
    return 0;
}
相关推荐
王老师青少年编程7 天前
csp信奥赛C++高频考点专项训练之贪心算法 --【贪心与二分判定】:数列分段 Section II
c++·算法·贪心·csp·信奥赛·二分判定·数列分段 section ii
王老师青少年编程8 天前
csp信奥赛C++高频考点专项训练之贪心算法 --【哈夫曼贪心】:合并果子
c++·算法·贪心·csp·信奥赛·哈夫曼贪心·合并果子
王老师青少年编程8 天前
csp信奥赛C++高频考点专项训练之贪心算法 --【哈夫曼贪心】:荷马史诗
c++·算法·贪心·csp·信奥赛·哈夫曼贪心·荷马史诗
王老师青少年编程9 天前
csp信奥赛C++高频考点专项训练之贪心算法 --【反悔贪心】:建筑抢修
c++·算法·贪心·反悔贪心·csp·信奥赛·建筑抢修
王老师青少年编程9 天前
csp信奥赛C++高频考点专项训练之贪心算法 --【反悔贪心】:种树
c++·算法·贪心·反悔贪心·csp·信奥赛·种树
王老师青少年编程11 天前
csp信奥赛C++高频考点专项训练之贪心算法 --【跳跃与过河问题】:过河问题
c++·算法·贪心·csp·信奥赛·跳跃与过河问题·过河问题
王老师青少年编程11 天前
csp信奥赛C++高频考点专项训练之贪心算法 --【跳跃与过河问题】:跳跳!
c++·算法·贪心·csp·信奥赛·跳跃与过河问题·跳跳
王老师青少年编程11 天前
csp信奥赛C++高频考点专项训练之贪心算法 --【跳跃与过河问题】:独木桥
c++·算法·贪心·csp·信奥赛·跳跃与过河问题·独木桥
王老师青少年编程12 天前
csp信奥赛C++高频考点专项训练之贪心算法 --【部分背包问题】:部分背包问题
c++·算法·贪心·csp·信奥赛·部分背包问题