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
 - 上传者