bzoj 1012: [JSOI2008]最大数maxnumber(单调栈+二分)
来源:互联网 发布:sqlserver删除表字段 编辑:程序博客网 时间:2024/06/16 01:53
单调栈维护下,二分就好了
bzoj用%I64d一直格式错误,换了%lld就好了
#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;typedef long long LL;const int MAXN = 200100;LL num[MAXN];int len;int s[MAXN];int t;int M;LL D,n,pre;int main(){ char op; scanf("%d %lld",&M,&D); for(int i = 0; i < M; ++i) { scanf(" %c %lld",&op,&n); if(op == 'Q') { int index = len-n; index = lower_bound(s,s+t,index)-s; pre = num[s[index]]; printf("%lld\n",num[s[index]]); } else { n = (n+pre)%D; num[len++] = n; while(t > 0 && num[s[t-1]] <= num[len-1]) --t; s[t++] = len-1; } } return 0;}
阅读全文
0 0
- bzoj 1012: [JSOI2008]最大数maxnumber(单调栈+二分)
- BZOJ 1012 [JSOI2008]最大数maxnumber (单调栈)
- BZOJ 1012: [JSOI2008]最大数maxnumber 单调栈
- [BZOJ 1012][JSOI2008]最大数maxnumber:线段树|单调栈
- BZOJ 1012 JSOI2008 最大数maxnumber 单调栈+二分 / 线段树
- BZOJ 1012[jsoi2008] 最大数maxnumber 线段树(或者是单调队列+二分)
- 1012: [JSOI2008]最大数maxnumber 单调栈+二分
- bzoj 1012: [JSOI2008]最大数maxnumber 二分
- [BZOJ]1012 [JSOI2008]最大数maxnumber (线段树维护区间最值 || 单调栈+二分查找)
- BZOJ 1012([JSOI2008]最大数maxnumber-单调队列)
- 【BZOJ 1012】 [JSOI2008]最大数maxnumber(单调队列做法)
- BZOJ 1012: [JSOI2008]最大数maxnumber 单调队列/线段树
- 【单调栈】Bzoj 1012: 最大数maxnumber
- 【单调队列】1012: [JSOI2008]最大数maxnumber
- [JSOI2008] [BZOJ1012] 最大数maxnumber - 单调栈
- [BZOJ1012][JSOI2008]最大数maxnumber-单调栈
- BZOJ1012: [JSOI2008]最大数maxnumber(单调栈)
- BZOJ 1012-最大数maxnumber(单调栈)
- 1768_最大子矩阵
- Unity 打包pc端.exe C#防止多个程序
- list,array 与matrix 的区别
- L2-010. 排座位
- (冲突)Python中使用pymysql插入中文数据问题
- bzoj 1012: [JSOI2008]最大数maxnumber(单调栈+二分)
- python实用函数之join()
- java 对 mongodb的 常用操作
- 第2周 【项目二】 程序的多文件组织
- jmeter发送soap请求
- 常见集群(Cluster)软件和技术解析
- 简单易学的机器学习算法——朴素贝叶斯
- 《Python基础教程》读书笔记(1)之第6章抽象(关键词:Python/抽象/函数/参数/作用域)
- 笔记--MySQL数据库