zoukankan      html  css  js  c++  java
  • 【听说是线段树】bzoj1012 [JSOI2008]最大数maxnumber

    一眼看题目吓了一跳:这TM不就是单调队列吗,200000又怎样,大不了我二分嘛

    系统提示:成功开启 手残模式

    开始瞎写:

     1 #include <cstdio>
     2 long long a[200001];
     3 int b[200001];
     4 int m,mod;
     5 int find(int l,int r,long long x)
     6 {
     7     if(l>=r-1)
     8     if(a[r]>=x)
     9         return r;
    10     else
    11         return l;
    12     int mid=(l+r)>>1;
    13     if(a[mid]>=x)
    14         return find(mid,r,x);
    15     else
    16         return find(l,mid-1,x);
    17 }
    18 int _find(int l,int r,long long x)
    19 {
    20     if(l>=r-1)
    21     if(b[l]>=x)
    22         return l;
    23     else
    24         return r;
    25     int mid=(l+r)>>1;
    26     if(b[mid]>=x)
    27         return _find(l,mid,x);
    28     else
    29         return _find(mid+1,r,x);
    30 }
    31 int main()
    32 {
    33     scanf("%d%d",&m,&mod);
    34     long long last=0;
    35     int n=0,N=0;
    36     for(int i=1;i<=m;i++)
    37     {
    38         char ch=getchar();
    39         while(ch!='A' && ch!='Q')
    40             ch=getchar();
    41         long long x;
    42         scanf("%lld",&x);
    43         if(ch=='A')
    44         {
    45             n=find(0,n,(x+last)%mod)+1;
    46             a[n]=(x+last)%mod;
    47             b[n]=++N;
    48         }
    49         else
    50         {
    51             if(N==20)
    52             {
    53                 printf("");
    54             }
    55             last=(a[_find(1,n,N-x+1)])%mod;
    56             printf("%d
    ",last);
    57         }
    58     }
    59     return 0;
    60 }

    卧槽,然后就A了,,,A了,,,

    主要思路:

    每次二分查找要加入的点的位置和要找的点的位置(利用单调队列位置和权值双重单调)

    老板娘毁我人生,居然说这是rmq、线段树、树状数组

  • 相关阅读:
    Linux 文件特殊权限 SUID SGID SBIT
    Oracle Flashback 详解
    Oracle RMAN备份与还原注意事项
    Linux df 与du用法
    Oracle RMAN备份与还原
    Oracle 不小心删除undo数据文件以及磁盘空间不足导致不能登录的解决办法
    Oracle 内存参数调优设置
    Oracle Profile 配置文件
    关于php语言的使用!
    分享几个Javascript 封装方法
  • 原文地址:https://www.cnblogs.com/wanglichao/p/5689520.html
Copyright © 2011-2022 走看看