struct AB{
int k,b;
}d[N];
void add(int k,int b){d[++cnt]=(AB){k,b};}
int cal(int id,int x){return d[id].k*x+d[id].b;}
void upd(int p,int l,int r,int u){
int v=&c[p],mid=(l+r)>>1;
if(cal(u,mid)>cal(v,mid)) swap(u,v);
if(cal(u,l)>cal(v,l)) upd(p*2,l,mid,u);
if(cal(u,r)>cal(v,r)) upd(p*2+1,mid+1,r,u);
}
void gai(int p,int l,int r,int x,int y,int z){
if(x<=l&&r<=y){
upd(p,l,r,z);
return ;
}
int mid=(l+r)>>1;
if(mid>=x) gai(p*2,l,mid,x,y,z);
if(mid<y) gai(p*2+1,mid+1,r,x,y,z);
}
int cha(int p,int l,int r,int x){
if(l==r) return cal(c[p],cal(c[p],x));
int mid=(l+r)>>1,res=cal(c[p],x);
if(mid>=x) return max(res,cha(p*2,l,mid,x));
else return max(res,cha(p*2+1,mid+1,r,x));
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】