BZOJ 1012 [JSOI2008]最大数maxnumber

Posted 采蘑菇的小西佬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BZOJ 1012 [JSOI2008]最大数maxnumber相关的知识,希望对你有一定的参考价值。

BZOJ 1012

题解:用单调栈来维护第L大的数这个关系

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <algorithm>
 4 const int N=2e5+5;
 5 int a[N],data[N];
 6 int main(){
 7     int m,d;
 8     scanf("%d %d",&m,&d);
 9     char str[2];
10     int x,t=0,len=0,top=0;
11     for(int i=0;i<m;i++){
12         scanf("%s%d",str,&x);
13         if(str[0]==A){
14             x=(x+t)%d;
15             data[++len]=x;
16             while(top&&data[a[top]]<=x)top--;
17             a[++top]=len;
18         }
19         else{
20             int index=lower_bound(a+1,a+1+top,len-x+1)-a;
21             t=data[a[index]];
22             printf("%d\n",t);
23         }
24     }
25     
26     return 0;
27 }

 

以上是关于BZOJ 1012 [JSOI2008]最大数maxnumber的主要内容,如果未能解决你的问题,请参考以下文章

BZOJ——1012: [JSOI2008]最大数maxnumber || 洛谷—— P1198 [JSOI2008]最大数

BZOJ1012 JSOI2008 最大数maxnumber 线段树/栈+二分法

BZOJ 1012: [JSOI2008]最大数maxnumber

bzoj1012[JSOI2008]最大数maxnumber

BZOJ 1012: [JSOI2008]最大数maxnumber

BZOJ1012: [JSOI2008]最大数maxnumber [线段树]