HYSBZ 1012 最大数maxnumber
2015-07-18 12:25
344 查看
思路:在单调队列不更新列首,因为查询区间大小不确定,所以不能保证下次是否还用到它
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; #define N 222222 #define ll long long int que ; ll m,d; ll a ; int cnt; char op[2]; int num; int main(){ scanf("%d%lld",&m,&d); cnt = 0; ll t = 0; int l = 0; int r = -1; while(m--){ scanf("%s%d",op,&num); if(op[0]=='Q'){ int h = l; while(h<=r&&que[h]<=cnt-num) h++; t = a[que[h]]; printf("%lld\n",t); } else{ a[++cnt] = (num%d+t%d)%d; while(l<=r&&a[que[r]]<a[cnt]) --r; que[++r] = cnt; } } }
相关文章推荐
- thinkphp的知识点
- 操作系统的启动
- codevs1026
- VC 各种情况下的窗口句柄的获取
- linux常用命令或功能
- 安卓的事件传递,中断,分发机制
- 高版本数据库还原低版本的bak
- Copy List with Random Pointer
- 数据预处理
- 【随笔】mvc使用forms身份验证实现登陆
- PHP+MYSQL如何插入记录到数据库
- kappa 一致性系数计算实例
- [debug]重定义默认参数
- 如何在自定义的ViewController加载Storyboard里面的ViewController
- centOS上安装redis
- 核间通信原理
- iOS写出文件
- Nginx源代码分析之upstream(八)
- Tarjan算法求至少要添加几条边才能使无向连通图变为边双连通图。
- CLRS 2.2分析算法