一眼看题目吓了一跳:这TM不就是单调队列吗,200000又怎样,大不了我二分嘛

系统提示:成功开启 手残模式

开始瞎写:

 #include <cstdio>
long long a[];
int b[];
int m,mod;
int find(int l,int r,long long x)
{
if(l>=r-)
if(a[r]>=x)
return r;
else
return l;
int mid=(l+r)>>;
if(a[mid]>=x)
return find(mid,r,x);
else
return find(l,mid-,x);
}
int _find(int l,int r,long long x)
{
if(l>=r-)
if(b[l]>=x)
return l;
else
return r;
int mid=(l+r)>>;
if(b[mid]>=x)
return _find(l,mid,x);
else
return _find(mid+,r,x);
}
int main()
{
scanf("%d%d",&m,&mod);
long long last=;
int n=,N=;
for(int i=;i<=m;i++)
{
char ch=getchar();
while(ch!='A' && ch!='Q')
ch=getchar();
long long x;
scanf("%lld",&x);
if(ch=='A')
{
n=find(,n,(x+last)%mod)+;
a[n]=(x+last)%mod;
b[n]=++N;
}
else
{
if(N==)
{
printf("");
}
last=(a[_find(,n,N-x+)])%mod;
printf("%d\n",last);
}
}
return ;
}

卧槽,然后就A了,,,A了,,,

主要思路:

每次二分查找要加入的点的位置和要找的点的位置(利用单调队列位置和权值双重单调)

老板娘毁我人生,居然说这是rmq、线段树、树状数组

【听说是线段树】bzoj1012 [JSOI2008]最大数maxnumber的更多相关文章

  1. BZOJ-1012[JSOI2008]最大数maxnumber 线段树区间最值

    这道题相对简单下面是题目: 1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec Memory Limit: 162 MB Submit: 6542 Solve ...

  2. bzoj1012: [JSOI2008]最大数maxnumber(貌似是道线段树喔)

    1012: [JSOI2008]最大数maxnumber 题目:传送门 题解: 发现自己空了一道水题... 1~210000建线段树,其实就是一道裸题... 单点修改+区间查询...1A~ 代码: # ...

  3. BZOJ1012: [JSOI2008]最大数maxnumber [线段树 | 单调栈+二分]

    1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec  Memory Limit: 162 MBSubmit: 8748  Solved: 3835[Submi ...

  4. BZOJ1012 [JSOI2008]最大数maxnumber

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  5. [BZOJ1012] [JSOI2008] 最大数maxnumber (ST表)

    Description 现在请求你维护一个数列,要求提供以下两种操作:1. 查询操作.语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值.限制:L不超过当前数列的长度.2. 插 ...

  6. BZOJ1012——[JSOI2008]最大数maxnumber

    1.题目大意:求末尾L个数的最大值,强制在线 2.分析:这个拿线段树可以直接水过,然后我写了一个 维护单调栈, 二分求最大值的短代码,手懒.... #include <cstdio> #i ...

  7. BZOJ1012[JSOI2008]最大数maxnumber 题解

    题目大意: 维护一个数列,有两种操作:1. 查询当前数列中末尾L个数中的最大的数,并输出这个数的值.限制:L不超过当前数列的长度.2.插入操作:将n加上t,其中t是最近一次查询操作的答案(如果还未执行 ...

  8. [bzoj1012](JSOI2008)最大数maxnumber(Fenwick Tree)

    Description 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作.语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值.限制:L不超过当前数列的长度. 2. ...

  9. BZOJ1012:[JSOI2008]最大数maxnumber(线段树)

    Description 现在请求你维护一个数列,要求提供以下两种操作:1. 查询操作.语法:Q L 功能:查询当前数列中末尾L 个数中的最大的数,并输出这个数的值.限制:L不超过当前数列的长度.2. ...

随机推荐

  1. grunt安装和使用教程

    grunt的安装 npm intall -g grunt-cli 新建文件夹grunt,在本地文件中添加package.json和Gruntfile.js文件,其中package.json文件的配置如 ...

  2. [NHibernate]持久化类(Persistent Classes)

    系列文章 [Nhibernate]体系结构 [NHibernate]ISessionFactory配置 引言 持久化类是应用程序用来解决商业问题的类(比如,在电子交易程序中的Customer和Orde ...

  3. tyvj1938 最优战舰

    描述 太空战队顺利地完成了它的第一次使命,这一行动的受益者陆军本部当即决定,请陆军的战士们投票选出最优战舰并报司令总部进行表彰.为防止有人利用高科技手段造假,陆军本部决定使用最原始的方法进行投票.可不 ...

  4. CentOS6.3编译安装Memcached的PHP客户端memcache

    在安装Memcached的PHP客户端memcache之前,可先看下先前的工作笔记: PHP5不重新编译,如何安装自带的未安装过的扩展,如soap扩展? 安装PHP的memcache扩展 cd /us ...

  5. Linux学习之一--VI编辑器的基本使用

    vi编辑器是Linux系统下标准的编辑器.而且不逊色于其他任何最新的编辑器.可是会用的有多少呢.下面介绍一下vi编辑器的简单用法和部分命令.让你在Linux系统中畅行无阻. 基本上vi可以分为三种状态 ...

  6. HK&&CC JS学习:第一周——NO.2this

    1)常用的命名规范:     aXXXX:aBtn 说明获取的是一组元素:--类数组     oXXX:oBtn 说明获取的是一个元素->对象         对象有两个重要的特点:属性 和 方 ...

  7. 我常用的Vi命令

    Vi对于linux的重要性和受欢迎的程度在此一律不表.此刻互联网上不少介绍vi的文章和博客,相信写得比我好的也不在少数.然而为什么我依然写这样一篇文章呢?我对linux知识和了解也都来自于互联网,很难 ...

  8. git 的使用

    在github上注册一个账号,然后可以将自己写的小项目保存到里面,那么我们怎么将代码git到github上呢? 1. 在github上创建一个远程库learngit(*这个名字可以随便起) 2. 然后 ...

  9. 【XLL 框架库函数】 TempActiveRow/TempActiveRow12

    创建一个包含所有激活工作表行的 XLOPER/XLOPER12 LPXLOPER TempActiveRow(WORD row); LPXLOPER12 TempActiveRow12(ROW row ...

  10. [转]字符编码笔记:ASCII,Unicode和UTF-8

    转自:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html 作者: 阮一峰 日期: 2007年10月28日 今天中午, ...