[JSOI2008]最大数maxnumber 线段树
来源:互联网 发布:多少的网络不能玩游戏 编辑:程序博客网 时间:2024/04/29 19:40
题目
线段树模板题,打了个指针
代码
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#define ll long longusing namespace std;ll m,d,cnt,t;struct node{ node* ch[2];ll v; node(ll v):v(v){ch[0]=ch[1]=NULL;} void maintain() { if(ch[0] != NULL && v < ch[0]->v) v=ch[0]->v; if(ch[1] != NULL && v < ch[1]->v) v=ch[1]->v; }};node* rt=NULL;void ins(node* &o,ll l,ll r,ll x){ if(o == NULL) o=new node(x); if(l >= r) return ; int mid=(l+r)>>1; if(cnt > mid) ins(o->ch[1],mid+1,r,x); else ins(o->ch[0],l,mid,x); o->maintain();}ll query(node* o,ll l,ll r,ll ql,ll qr){ if(l > qr || r < ql || o == NULL) return 0; if(l >= ql && r <= qr) return o->v; int mid=(l+r)>>1; return max(query(o->ch[0],l,mid,ql,qr),query(o->ch[1],mid+1,r,ql,qr));}ll read(){ ll out=0,f=1;char c=getchar(); while(c < '0' || c > '9') {if(c == '-') f=-1; c=getchar();} while(c >= '0' && c <= '9') {out=(out<<3)+(out<<1)+c-'0'; c=getchar();} return out*f;}void solve(){ m=read(),d=read(); for(int i=1;i<=m;i++) { char c=getchar(); while(c != 'A' && c != 'Q') c=getchar(); ll x=read(); if(c == 'A') ++cnt,ins(rt,1,m,(t+x)%d); if(c == 'Q') { t=query(rt,1,m,cnt-x+1,cnt); printf("%lld\n",t); } }}int main(){ solve(); return 0;}
阅读全文
0 0
- 【bzoj1012】【JSOI2008】【最大数】【maxnumber】【线段树】
- [BZOJ1012][JSOI2008][线段树]最大数maxnumber
- 【线段树】BZOJ1012 [JSOI2008]最大数maxnumber
- [JSOI2008]最大数maxnumber 线段树
- bzoj1012 [JSOI2008] 最大数maxnumber 线段树
- 1012: [JSOI2008]最大数maxnumber 线段树区间统计
- BZOJ 题目1012: [JSOI2008]最大数maxnumber(线段树)
- [BZOJ1012][JSOI2008]最大数maxnumber(线段树)
- bzoj 1012: [JSOI2008]最大数maxnumber(线段树)
- |BZOJ 1012|线段树|[JSOI2008]最大数maxnumber
- 【BZOJ 1012】 [JSOI2008]最大数maxnumber(线段树做法)
- BZOJ 1012: [JSOI2008]最大数maxnumber 单调队列/线段树
- BZOJ 1012: [JSOI2008]最大数maxnumber 线段树入门题
- [BZOJ 1012][JSOI2008]最大数maxnumber:线段树|单调栈
- BZOJ1012(JSOI2008)[最大数maxnumber]--线段树区间极值
- bzoj1012: [JSOI2008]最大数maxnumber(线段树)
- BZOJ 1012[JSOI2008]最大数maxnumber (线段树解法)
- [JSOI2008]最大数maxnumber
- *****国际MOT研究及智能视频监控应用中的目标跟踪梳理
- firewall
- 如何将推荐系统与异构数据巧妙结合——专访微软资深研究员谢幸博士
- 生育保险可以转移吗
- ZooKeeper之Java客户端API使用—删除节点。
- [JSOI2008]最大数maxnumber 线段树
- 玩客币(2)
- android项目从零开始 android adb install 命令安装apk ,多台设备安装apk
- maven项目提交到git仓库时需要忽略哪些文件?标准的结构应该是什么样的?
- 麒麟开发板代码、资料(更新到20171122)(转)
- 软件调试笔记33
- 浏览器和服务器的交互过程
- Hibernate 中的hql语言的增删改查
- 快速排序