您当前的位置: 首页 > 

*DDL_GzmBlog

暂无认证

  • 0浏览

    0关注

    605博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

[luogu*] P1198 [JSOI2008]最大数 二分+单调栈 || ST表

*DDL_GzmBlog 发布时间:2021-11-24 21:11:50 ,浏览量:0

前言

因为前两场cf二分打的很烂,特来补一下。没想到单调栈也很烂

传送门 :

思路

既然是二分搜索到这题的,那么这题一开始就是二分的了

但是你发现,我不可能直接使用STL COPY每段吧,然后对于每一段都排序吗

但是排序的意义完全就不要二分了而且会T

所以我们会想到一个非常美妙的结构,单调栈

我们用两个单调栈维护下标和数值的时候

我们就可以通过下标进行二分 然后直接输出答案即可

Seach-Code
int n,m,t;
ll ans;
ll stk[2][N],top,cnt;
int mod;

void add(int k)
{
	cnt++;
	while(k>stk[1][top] && top>0)
	top--;
	stk[0][++top] = cnt;
	stk[1][top] = k;
}
void query(int e,int l,int r)
{
	while(l>1;
		if(stk[0][mid]>op;
		if(*op !='A' && *op!='Q')
		getchar();
		if(*op == 'A')
		{
			int x;cin>>x;
			add((ans+x)%mod);	
		}else
		{
			int x;cin>>x;
			query(cnt-x+1,1,top);
		}
	}

}
关注
打赏
1657615554
查看更多评论
立即登录/注册

微信扫码登录

0.0481s