码迷,mamicode.com
首页 > 其他好文 > 详细

最多区间覆盖问题

时间:2018-02-14 12:54:38      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:str   blog   input   log   turn   stream   out   区间覆盖   output   

直线上n个区间,求被覆盖次数最多的点的被覆盖次数
将区间端点离散化
变为区间加问题

 1 //2018年2月14日12:02:51
 2 /*
 3 直线上n个区间,求被覆盖次数最多的点的被覆盖次数
 4 将区间端点离散化
 5 变为区间加问题
 6 
 7 */
 8 #include <iostream>
 9 #include <cstdio>
10 #include <algorithm>
11 using namespace std;
12 
13 const int N = 100001;
14 int n;
15 int a[N<<1], b[N<<1];
16 int dif[N];
17 
18 int main(){
19     cin >> n;
20     for(int i=1;i<=2*n;i++){
21         cin >> a[i];
22         b[i] = a[i];
23     }
24     sort(b+1, b+2*n+1);
25     for(int i=1;i<=2*n;i++)
26         a[i] = lower_bound(b+1, b+2*n+1, a[i]) - b;
27     for(int i=1;i<=2*n;i+=2){
28         int s = a[i], t = a[i+1];
29         dif[s]++;
30         dif[t+1]--;
31     }
32     for(int i=1;i<=2*n;i++)
33         dif[i] += dif[i-1];
34     int maxx = 0;
35     for(int i=1;i<=2*n;i++)
36         if(dif[i] > maxx)
37             maxx = dif[i];
38     cout << maxx << endl;
39 
40     return 0;
41 }
42 /*
43 input: 3 [1,3], [2, 4], [2,2]
44 output: 3
45 
46 */

 

最多区间覆盖问题

标签:str   blog   input   log   turn   stream   out   区间覆盖   output   

原文地址:https://www.cnblogs.com/sineagle/p/8448142.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!