import java.util.Arrays;
import java.util.Scanner;
public class 区间覆盖 {
public static class cover implements Comparable<cover>{
int s;
int e;
public cover(int s,int e){
this.s=s;
this.e=e;
}
public int compareTo(cover other) {
int x=this.s-other.s;
if(x==0) return this.e-other.e;
return x;
}
}
static int count=0;
public static void f(cover[] c,int s,int e){
if(s>=e){
System.out.println(count);
return;
}
int n=c.length;
int end=0;
for(int i=0;i<n;i++){
if(c[i].s<=s){
end=Math.max(c[i].e,end);
}
}
count++;
f(c,end,e);
}
public static void main(String[] args){
Scanner input=new Scanner(System.in);
int s=input.nextInt();
int e=input.nextInt();
int n=input.nextInt();
cover[] c=new cover[n];
for(int i=0;i<n;i++){
c[i]=new cover(input.nextInt(),input.nextInt());
}
input.close();
Arrays.sort(c);
f(c,s,e);
}
}
贪心策略:区间覆盖问题
最新推荐文章于 2022-11-24 07:21:12 发布