zoukankan      html  css  js  c++  java
  • 【NOIP模拟赛】【乱搞AC】【贪心】【模拟】匹配

    匹配

    (match.pas/match.c/match.cpp)

    【题目描述】

    到了新的学期,Mcx痛苦的发现通用技术课居然是有实验课的,这样的话他就不得不放弃写作业的想法而去做一件类似于搭积木的事情。一次实验课上,他发现所给的材料有许许多多的长积木,其中黄色的有n条,第i条的长度为Ai;蓝色的有m条,第j条的长度为Bj。于是他想:这些积木可以组成多少对导轨呢?每对导轨由一条黄色积木和一条蓝色积木组成,每条积木只能用一次。为了美观,当且仅当Ai – x <= Bj <= Ai + y的时候,两条积木才能组成一对导轨。x,y为给定的非负整数。

    【题目输入】

    第一行四个数n,m,x,y,具体含义见题目描述。

    第二行n个数,第i个数表示第i条黄色积木的长度,每两个数之间有一个空格。

    第三行m个数,第i个数表示第i条蓝色积木的长度,每两个数之间有一个空格。

    【题目输出】

    仅一行一个非负整数,表示所能组成的导轨对数的最大值。

    【样例输入】

    5 3 0 0

    1 2 3 3 4

    1 3 5

    【样例输出】

    2

    【样例解释】

    样例中x,y均为0,故只有当Ai=Bj的时候才能组成一对导轨。

    方案为第一条黄色积木和第一条蓝色积木一组,第二条蓝色积木和第三或第四条黄色积木一组。

    【数据范围】

    50%的数据满足1 <= n , m <= 1000

    100%的数据满足 1 <= n , m <= 100000

    100%的数据满足 0 <= x , y , Ai , Bi <= 10^9

    100%的数据满足,AiBi一定为升序排列。

    【Solution】

      千万别想复杂!!!!!千万别想复杂!!!!!千万别想复杂!!!!!

      首先用两个指针L、R分别指向黄色积木当前砖块和蓝色积木当前砖块,初始指向第一个积木。如果当前黄色积木符合蓝色积木要求,则记录答案并使LR指针都往后移一位。如果当前蓝色积木长度比当前黄色积木长度减X还要小,那么只后移R指针。如果当前蓝色积木长度比当前黄色积木长度加Y还要大,那么之后移L指针。

      AC代码:

     1 #include <cstdio>
     2 int N,M,X,Y,L=1,R=1;
     3 int ylw[100010],ble[100010];
     4 long long ans;
     5 int main(){
     6     scanf("%d%d%d%d",&N,&M,&X,&Y);
     7     for(int i=1;i<=N;++i) scanf("%d",&ylw[i]);
     8     for(int i=1;i<=M;++i) scanf("%d",&ble[i]);
     9     while(L<=N&&R<=N){
    10         if(ble[R]>ylw[N]+Y||ble[M]<ylw[1]-X) break;//特判掉极端情况
    11         if(ble[R]>=ylw[L]-X&&ble[R]<=ylw[L]+Y) {++ans;++L;++R;continue;}
    12         if(ble[R]<ylw[L]-X) {++R;continue;}
    13         if(ble[R]>ylw[L]+Y) {++L;continue;}
    14         ++L; ++R;
    15     }
    16     printf("%I64d",ans);
    17     return 0;
    18 }
  • 相关阅读:
    Hanoi塔
    采药
    进制转换(大数)
    Load Balancing with NGINX 负载均衡算法
    upstream模块实现反向代理的功能
    epoll
    在nginx启动后,如果我们要操作nginx,要怎么做呢 别增加无谓的上下文切换 异步非阻塞的方式来处理请求 worker的个数为cpu的核数 红黑树
    粘性会话 session affinity sticky session requests from the same client to be passed to the same server in a group of servers
    负载均衡 4层协议 7层协议
    A Secure Cookie Protocol 安全cookie协议 配置服务器Cookie
  • 原文地址:https://www.cnblogs.com/reddest/p/5994898.html
Copyright © 2011-2022 走看看