最大数(提高+/省选-)
来源:互联网 发布:不同后缀的英文域名 编辑:程序博客网 时间:2024/05/23 23:35
题目:
题目描述
现在请求你维护一个数列,要求提供以下两种操作:
1、 查询操作。
语法:Q L
功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。
限制:L不超过当前数列的长度。
2、 插入操作。
语法:A n
功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾。
限制:n是整数(可能为负数)并且在长整范围内。
注意:初始时数列是空的,没有一个数。
输入输出格式
输入格式:
第一行两个整数,M和D,其中M表示操作的个数(M <= 200,000),D如上文中所述,满足(0
#include<iostream> #include<cstring> #include<stdio.h> using namespace std; int n,d,t=0; int size; int a[200010]; int num[200010]; int main() { int lt,len=0; char c[5]; scanf("%d%d",&n,&d); while(n--) { scanf("%s%d\n",c,<); if(c[0] == 'A')//插入 { lt=(lt+t)%d; num[++len]=lt; while(size&&num[a[size]]<=lt) //寻找 size--; a[++size]=len; } else //查询 { int pos=lower_bound(a+1,a+size+1,len-lt+1)-a;//二分(c++的美好) t=num[a[pos]]; cout<<t<<endl; } } return 0; }
1 0
- 最大数(提高+/省选-)
- 最大数(提高+/省选-)
- 算法提高 选最大数
- 算法提高 AdV-80 选最大数
- mac os OS X 优山美地(Yosemite)如何提高最大连接数限制
- 提高linux对最大进程数和最大打开文件描述符数的限制
- 蓝桥杯 ADV-80 算法提高 选最大数
- HDU 1068 最大独立数(最大独立数 = 顶点数 - 最大匹配数/2)
- 在即时通信软件中中,如何提高服务器支持的最大连接数/并发数
- 求最大数(汇编)
- 寻找最大数(三)
- 寻找最大数(三)
- 寻找最大数(三)
- 寻找最大数(三)
- 寻找最大数(三)
- 寻找最大数(三)
- 寻找最大数(三)
- Max Num(最大数)
- git使用
- [leetcode]372. Super Pow
- CentOS配置Nginx官方的Yum源
- 最大数(提高+/省选-)
- CSS中rem em px的区别
- 最大数(提高+/省选-)
- 写一个进度条程序
- 同步,异步,阻塞,非阻塞
- hashmap实现原理浅析
- 概述
- 第十二周作业报告
- golang代码案例
- java——序列化与反序列化
- Redhat6.5(红帽6.5)用iso镜像配置yum本地源