求调

P1531 I Hate It

输完a数组就结束了,根本输不了后面m行QWQ
by Lyy0518 @ 2023-10-22 22:15:13


重发一遍 ```cpp #include<bits/stdc++.h> using namespace std; const int N=2*(int)1e5+1; int tree[4*N]; int n,m,a[N]; int ls(int p) {return p*2; } int rs(int p) {return p*2+1; } void push_up(int p){ tree[p]=max(tree[ls(p)],tree[rs(p)]); } void build(int p,int pl,int pr){ if(pl==pr){ tree[p]=a[pl]; return; } int mid=(pl+pr)>>1; build(ls(p),pl,mid); build(rs(p),mid+1,pr); push_up(p); } int query(int L,int R,int p,int pl,int pr){ if(L<=pl && R>=pr) return tree[p]; int mid=(pl+pr)>>1,res=(1<<30)*-1; if(L<=mid) res=max(res,query(L,R,ls(p),pl,mid)); if(R>=mid) res=max(res,query(L,R,rs(p),mid+1,pr)); return res; } void add(int p,int pl,int pr,int v,int b){ if(pl==pr){ if(tree[p]<b) tree[p]=b; return; } int mid=(pl+pr)>>1; if(v<=mid) add(ls(p),pl,mid,v,b); else add(rs(p),mid+1,pr,v,b); push_up(p); } int main(){ cin>>n; for(int i=1;i<=n;i++) scanf("%d",&a[i]); build(1,1,n); for(int i=1;i<=m;i++){ char c;int x,y; cin>>c>>x>>y; if(c=='Q'){ printf("%d",query(x,y,1,1,n)); }else add(1,1,n,x,y); } } ```
by Lyy0518 @ 2023-10-23 20:53:42


您 m 根本没输入啊@[Lyy0518](/user/1143983)
by Little_Fox_Fairy @ 2023-10-27 17:56:54


@[Little_Fox_Fairy](/user/826774) 改了样例1输到第三个Q 3 4突然结束了
by Lyy0518 @ 2023-10-27 18:59:10


[QAQ](https://cn.bing.com/)
by Lyy0518 @ 2023-11-05 15:46:12


|