最多区间覆盖问题

Posted gE_nis

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最多区间覆盖问题相关的知识,希望对你有一定的参考价值。

直线上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 */

 

以上是关于最多区间覆盖问题的主要内容,如果未能解决你的问题,请参考以下文章

2021-12-24:划分字母区间。 字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。 力扣763。某大厂面试

贪心算法----区间覆盖问题(POJ2376)

Java 求解划分字母区间

763. 划分字母区间

Leetcode 763 划分字母区间

最大不相交区间数+最少区间数覆盖问题 贪心思想