分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

BZOJ 1012 [JSOI2008]最大数maxnumber

发布时间:2023-09-06 01:11责任编辑:赖小花关键词:暂无标签

看到题的第一眼,我问LLJ大佬,这是不是主席树模板题呀,然后被大佬无情地嘲笑了。

又思考了一下,感觉树套树可做,我大概是傻了吧。

LLJ说,题解是单调队列啊。

我觉得他说的十分有道理。

裸的单调队列。

#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>#include<queue>#include<vector>typedef long long LL;using namespace std;const int maxn=200000+299;int m,mod,t,x,que[maxn],val[maxn],tot,now;char op[5];int ef(int l,int r,int x) { ???int res=0; ???while(l<=r) { ???????int mid=(l+r)>>1; ???????if(que[mid]>=now-x+1) ?{ ???????????res=val[que[mid]]; ???????????r=mid-1;} ???????else l=mid+1; ???} ???return res;}int main(){ ???//freopen(".in","r",stdin); ???//freopen(".out","w",stdout); ???scanf("%d%d",&m,&mod); ???while(m--) { ???????scanf("%s%d",&op,&x); ???????if(op[0]==‘A‘) { ???????????x=(x+t)%mod; ?now++; ???????????while(tot&&val[que[tot]]<=x) { ???????????????tot--; ????????????} ????????????que[++tot]=now; ???????????val[now]=x; ???????} ???????else { ??????????t=ef(1,tot,x); ??????????printf("%d\n",t); ???????} ???} ????return 0;}
View Code

BZOJ 1012 [JSOI2008]最大数maxnumber

原文地址:http://www.cnblogs.com/Achenchen/p/7531897.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved