P1531 I Hate It(最简单的线段树)
来源:互联网 发布:阿里大数据平台 编辑:程序博客网 时间:2024/06/05 20:58
题目在这呢QAQ
这个垃圾题目我tmd调了一节课
#include <cstdio>#include <iostream>#include <string>using namespace std;const int MAXN=200001;int a[MAXN],st[(MAXN)<<2],q[5001];void build(int o,int l,int r){ if(l==r) st[o]=a[l]; else { int m=l+((r-l)>>1); build(o<<1,l,m); build((o<<1)+1,m+1,r); st[o]=max(st[(o<<1)],st[(o<<1)+1]); }}void update(int o,int l,int r,int ind,int ans){ if(l==r) { st[o]=ans; return; } int m=l+((r-l)>>1); if(ind<=m) { update((o<<1),l,m,ind,ans); } else { update((o<<1)+1,m+1,r,ind,ans); } st[o]=max(st[(o<<1)],st[(o<<1)+1]);}int query(int o,int l,int r,int ql,int qr){ if(ql>r||qr<l) return -1; if(ql<=l&&qr>=r) return st[o]; int m=l+((r-l)>>1); int p1=query((o<<1),l,m,ql,qr); int p2=query((o<<1)+1,m+1,r,ql,qr); return max(p1,p2);}int main(){ //freopen("a.in","r",stdin); //freopen("a.out","w",stdout); int i,n,m,j,t=0; string c1; scanf("%d%d",&n,&m); for(i=1;i<=n;i++) scanf("%d",&a[i]); build(1,1,n); for(i=1;i<=m;i++) { int b,c; //c1=getchar(); cin>>c1; scanf("%d%d",&b,&c); if(c1=="Q") printf("%d\n",query(1,1,n,b,c)); if(c1=="U") { if(a[b]<c) a[b]=c,update(1,1,n,b,c);//如果大就变化 } } //fclose(stdin); //fclose(stdout); return 0;}
1:换行符读入卡了我好半天,cin忽略换行符(cin大法好);
2:又一次不读题。
0 0
- P1531 I Hate It(最简单的线段树)
- P1531 I Hate It(线段树)
- 线段树 洛谷P1531 I Hate It
- 洛谷P1531 I Hate It(线段树)
- 线段树 洛谷 p1531 I hate it(I hate it too)
- hdu 1754 I Hate It(最简单的线段树)
- 【洛谷P1531】I Hate It
- 洛谷P1531 I Hate It
- 洛谷P1531 I Hate It
- I Hate It【线段树 最值】
- HDU1754 I Hate It 简单线段树
- HDU I hate it(线段树)
- I Hate It(线段树)
- I Hate It(线段树)
- I Hate It(线段树)
- I hate it (线段树)
- 线段树(hdu1754 I hate it)
- HDU_1754 I Hate It(线段树)
- JSP的标签技术
- mysql
- 闭包
- LintCode 189-丢失的第一个正整数
- Node.js的那些坑(二)——异步方法里无法获取外部参数
- P1531 I Hate It(最简单的线段树)
- NSUserDefaults
- 两个环境变量PATH与CLASSPATH
- 模板式生成 JSP页面步骤
- TortoiseGit使用入门
- Codeforces 260E
- Unity3D的坐标系
- GOF23的一些总结(二)
- 5.4.2