BZOJ 1012: [JSOI2008]最大数maxnumber
来源:互联网 发布:countdown.js 使用 编辑:程序博客网 时间:2024/06/04 20:04
http://www.lydsy.com/JudgeOnline/problem.php?id=1012
这题,好像应该用线段树
但后来我发现 树状数组也可以过
我才知道,树状数组可以求 区间最值!!!
就是一个一个往前扫,遇到可以跳的,就跳一下
(时间复杂度应该是log级别的)
#include<stdio.h>typedef long long ll;ll n=1,m,d;ll num[200005];ll tree[200005];ll max(ll a,ll b){return a>b?a:b;}void fix(ll k,ll x){ for(ll i=k;i<=200005;i+=i&-i) { tree[i]=max(tree[i],x); }}ll read(ll k)//k~n{ ll ans=0; for(ll i=n;i>=k;i--) { if(i-(i&-i)>=k) //**重要** { ans=max(tree[i],ans); i-=(i&-i)-1; //**重要** } else { ans=max(num[i],ans); } } return ans;}int main(){ scanf("%lld%lld",&m,&d); ll t=0; for(ll i=1;i<=m;i++) { char c; ll x; scanf(" %c%lld",&c,&x); if(c=='A') { num[++n]=(x+t)%d; fix(n,(x+t)%d); } else if(c=='Q') { t=read(n-x+1); printf("%lld\n",t); } } 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 二分
- bzoj 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 [JSOI2008]最大数maxnumber
- BZOJ 1012 [JSOI2008]最大数maxnumber
- BZOJ 1012 [JSOI2008]最大数maxnumber
- BZOJ 1012: [JSOI2008]最大数maxnumber
- BZOJ 1012: [JSOI2008]最大数maxnumber
- bzoj 1012: [JSOI2008]最大数maxnumber
- 大型网站系统架构演化之路
- Haskell 2
- javascript中apply()和call()方法的区别
- Linux 时代的来临
- C++11 并发指南六( <atomic> 类型详解二 std::atomic )
- BZOJ 1012: [JSOI2008]最大数maxnumber
- 根据数据库里的url批量下载
- 一篇关于java泛型的详细讲解
- 为你解惑:css中单位px,em,rem的区别。。。
- 网络安全-加密验签方案
- hdu1421_搬寝室
- 大个酷论Classpath&&Path
- Hadoop-2.6.4集群(三个节点)安装(详细图文)
- 【web】上机实验六