第五题,贪心加滑动窗口 package contest; import java.util.ArrayList; import java.util.Collections; import java.util.LinkedList; import java.util.Scanner; public class BTDC5 {     static class Node implements Comparable<Node>{         int start;         int end;         @Override         public int compareTo(Node o) {             if(this.end<o.end){                 return -1;             }else if(this.end>o.end){                 return 1;             }else{                 if(this.start>o.start){                     return -1;                 }else if(this.start<o.start){                     return 1;                 }             }             return 0;         }     }     public static void main(String[] args) {         Scanner in = new Scanner(System.in);         int n=in.nextInt();         int m=in.nextInt();         ArrayList<Node>list=new ArrayList<>();         for(int i=0;i<n;i++){             Node node=new Node();             node.start=in.nextInt();             node.end=in.nextInt();             if(node.start>node.end){                 node.end+=m;             }             list.add(node);         }         Collections.sort(list);         int res=0,sum=0;         int left=-1,right=-1;         int index=0;         LinkedList<Node>queue=new LinkedList<>();         for(int i=0;i<list.size();i++){             Node node=list.get(i);             if(left==-1&&right==-1){                 left=node.start;                 right=node.end;                 sum++;                 queue.add(node);             }else if(node.start<right){                 continue;             }else if(node.start>=right){                 right=node.end;                 sum++;                 queue.add(node);                 while(right-left>m){                     queue.poll();                     sum--;                     if(!queue.isEmpty()){                         left=queue.peek().start;                     }                 }             }             res=sum>res?sum:res;         }         System.out.println(res);     } }
点赞 评论

相关推荐

牛客网
牛客企业服务