求助线段树二分写法
  • 板块学术版
  • 楼主Harumaki_Gohan
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/11/29 09:20
  • 上次更新2024/11/29 09:31:37
查看原帖
求助线段树二分写法
1273313
Harumaki_Gohan楼主2024/11/29 09:20

萌新没写过,自己想了个区间查询第一个最大值的位置,但输出来一堆 -1,求教/kel

ll maxn; //已经求出来的最大值
ll query(ll now,ll l,ll r,ll x,ll y){
	if(l>=x&&r<=y){
		if(t[now].mx!=maxn) return -1;
		if(l==r) return l;
	}
	pushdown(now);
	ll mid=(l+r)>>1;
	if(x<=mid){
		ll p=query(ls,l,mid,x,y);
		if(p!=-1) return p;
	}
	if(y>mid) return query(rs,mid+1,r,x,y);
	return -1;
}
2024/11/29 09:20
加载中...