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;
}
相关推荐
Tisfy1 天前
LeetCode 3014.输入单词需要的最少按键次数 I:遍历 / if-else计算(比纯数学公式写起来麻烦但好想)
数学·算法·leetcode·字符串·题解·贪心
qz5zwangzihan110 天前
题解:Atcoder Beginner Contest abc467 F - Email Scheduling Optimization
c++·贪心·atcoder·平衡树·abc467·abc467_f·fhq-treap
cpp_250115 天前
P6625 [省选联考 2020 B 卷] 卡牌游戏
数据结构·c++·算法·前缀和·贪心·洛谷题解·省选
cpp_250117 天前
P10098 [ROIR 2023] 地铁建设 (Day 2)
数据结构·c++·算法·贪心·二分答案·洛谷题解
tkevinjd18 天前
力扣300-最长递增子序列
算法·leetcode·职场和发展·动态规划·贪心
芜湖xin19 天前
【题解-信息学奥赛一本通】1226:装箱问题
贪心
Tisfy2 个月前
LeetCode 3689.最大子数组总值 I:What The Medium
算法·leetcode·题解·贪心·模拟·脑筋急转弯
Misnearch2 个月前
3635. 最早完成陆地和水上游乐设施的时间II
leetcode·贪心·排序
不太会a2 个月前
Educational Codeforces Round 175 (Rated for Div. 2) C
贪心·二分
芜湖xin3 个月前
【题解-洛谷】P1012 [NOIP 1998 提高组] 拼数
算法·贪心