1 条题解
-
1
分教室问题,我们把所有区间左端点映射为偶数,右端点映射为奇数,排序后遍历所有点,遇到偶数答案
ans ++
,奇数ans --
,一直取max
,期间需要的最多教室数即为答案。#include <iostream> #include <algorithm> using namespace std; const int N = 100100; int n; int b[2 * N], idx; int main() { cin >> n; for(int i = 0; i < n; ++ i) { int l, r; cin >> l >> r; b[idx ++] = l * 2; b[idx ++] = r * 2 + 1; } sort(b, b + idx); int res = 1, t = 0; for(int i = 0; i < idx; i ++) { if(b[i] % 2 == 0) t ++; else t --; res = max(res, t); } printf ("%d\n", res); return 0; }
- 1
信息
- ID
- 5529
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 2
- 已通过
- 1
- 上传者