• bzoj 1012 [JSOI2008]最大数maxnumber


    维护单调栈,每次加一个数之前,把栈顶不大于它的数弹出。

    查询时二分就可以了。

    #include<cstdio>
    #include<algorithm>
    using namespace std;
    int s[200001],t=0;
    int a[200001],siz=0;
    int n,clz,x,las;
    int main(){
        char op[5];
        scanf("%d%d",&n,&clz);
        for(int i=1;i<=n;i++){
            scanf("%s%d",op,&x);
            if(op[0]=='A'){
                x=(x+las)%clz;
                a[++siz]=x;
                while(t&&a[s[t]]<=x) t--;
                s[++t]=siz;
            }
            else{
                printf("%d\n",las=a[s[lower_bound(s+1,s+t+1,siz-x+1)-s]]);
            }
        }
    }
  • 相关阅读:
    token
    跨域问题???
    简单使用express
    深拷贝 浅拷贝
    node表单提交初知识!
    11.29
    11.28
    11.27
    11.26每日总结
    11.25每日总结
  • 原文地址:https://www.cnblogs.com/nzher/p/7380485.html
Copyright © 2020-2023  润新知