题意:

Q L 询问数列最后 L 个数中最大的数。

A n 将 n + t ( t_init = 0 ), 然后插到最后去。

思路:

感觉动态地插入,很有问题。

数组地长度会时常变化,但是可以先预处理就是有2e5个结点(最多)。

然后就是插咯?

它保证query 的时候 L < n(当前数组的长度)

水题。

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=2e5+20; LL mod;
struct Seg{
LL Max;
int Left,Right;
}q[N*4]; void Build(int num,int Left,int Right)
{
q[num].Left=Left;q[num].Right=Right;
if(Left==Right)
return;
int Mid=(Left+Right)>>1;
Build(num<<1,Left,Mid);
Build(num<<1|1,Mid+1,Right);
} void Update(int num,int k,LL w)
{
if(q[num].Left==q[num].Right&&q[num].Left==k){
q[num].Max=w;
return;
}
int Mid=(q[num].Left+q[num].Right)>>1;
if(Mid>=k)
Update(num<<1,k,w);
else
Update(num<<1|1,k,w);
q[num].Max=max(q[num<<1].Max,q[num<<1|1].Max);
} int query(int num,int Left,int Right)
{
if(q[num].Left>=Left && q[num].Right<=Right)
return q[num].Max;
int Mid=(q[num].Left+q[num].Right)>>1;
if(Mid>=Right)
return query(num<<1,Left,Right);
else if(Mid<Left)
return query(num<<1|1,Left,Right);
else
return max(query(num<<1,Left,Mid),query(num<<1|1,Mid+1,Right));
} int main()
{
char x[5];
int m;
int n=0,L;
LL k,t=0;
Build(1,1,200000);
scanf("%d%lld",&m,&mod);
while(m--)
{
scanf("%s",x);
if(x[0]=='A'){
scanf("%lld",&k);
k=(k+t)%mod;
n++;
Update(1,n,k);
}
else
{
scanf("%d",&L);
int s=n-L+1;
t=query(1,s,n);
printf("%lld\n",t);
}
}
return 0;
}

最新文章

  1. 【原创】loadrunner12.53 录制脚本时 打不开网页或者打开网页慢?
  2. Java学习笔记 03 数组
  3. centos yum安装mysql
  4. ionic常用命令记录
  5. Linux 下定时备份数据库以及删除缓存
  6. python 继承基础
  7. Linux根据端口号查看进程PID
  8. centos + nginx + php-fpm +mysql的简单配置
  9. Vim 多行剪切、复制和删除
  10. html5-边框属性
  11. django 浅谈CSRF(Cross-site request forgery)跨站请求伪造
  12. 【ActiveMQ入门-5】ActiveMQ学习-消息持久性
  13. OSG漫游到指定坐标点位置
  14. 通过网络仓库建立本地的yum仓库
  15. 简单介绍aspose-words-18.10-jdk16做导出word
  16. 《图说VR入门》——googleVR入门
  17. 【Markdown】Markdown的使用(自用)
  18. 优先队列详解priority_queue .RP
  19. 关于spark RDD trans action算子、lineage、宽窄依赖详解
  20. Linux 安装、卸载程序

热门文章

  1. 在eclipse中引入jquery.js文件报错的解决方案
  2. Python—numpy.bincount()
  3. linux命令学习笔记(40):wc命令
  4. 【leetcode刷题笔记】Integer to Roman
  5. 不要试图用msvc来编译ffmpeg
  6. dubbo monitor simple 监控原理分析
  7. FJOI2016 神秘数
  8. bzoj 3727: Final Zadanie 思维题
  9. RenderingPath 渲染路径
  10. NSSet 用法