您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

top监控cpu(监控cpu命令)

2025/9/19 13:42:05发布33次查看
本文主要介绍顶级监控cpu(监控cpu命令),下面一起看看顶级监控cpu(监控cpu命令)相关资讯。
话题表面
历史最大线段树。考虑到每个区间的运算大概是这样的:先有一些加法运算,再有一个赋值。在这个赋值之后,所有的操作都可以表示为赋值。所以维护两种标记,一种是之前添加的,一种是赋值的。只需记录作业是否在此时开始。代码极难调整,所以建议在写之前理清思路...
单击以查看代码# includesiostrem # inclucstiousingnamespace std;typedef long long llconst int n = 1e5 13const ll inf = 0x 3 f3 f3 f3 f3 fll;inline ll max(const ll a,const ll b){return ab?a:b;}int n,a[n],m;结构段树{int l,r;ll add,preadd,max,premax,set,preset布尔状态;} t[n2];#定义ls p1 #定义rs p1 | 1 #定义mid ((t[p])。l t[p]。r)1)内联void刷新(int p){t[p]。max=max(t[ls]。max,t[rs]。max);t[p]。premax=max(t[ls]。premax,t[rs]。premax);}void build(int p,int l,int r){t[p]。l=l,t[p]。r=r,t[p]。max=t[p]。premax =-inf;if(l==r){t[p]。max=t[p]。premax = a[l];返回;}build(ls,l,mid);build(rs,mid 1,r);刷新(p);}inline void pushup_set(int p,ll x,ll px){if(!t[p]。state){t[p]。状态= 1;t[p]。预置= pxt[p]。premax=max(t[p])。premax,px);}else{t[p]。预设=最大值(t[p]。预置,px);t[p]。premax=max(t[p])。premax,px);}t[p]。set=t[p]。max = x;} inline void pushoup _ add(int p,ll x,ll px){if(t[p]。state){t[p]。预设=最大值(t[p]。预设,t[p]。设置px);t[p]。premax=max(t[p])。premax,t[p]。max px);t[p]。set =x,t[p]。max = x;}else{t[p]。preadd=max(t[p])。preadd,t[p]。添加px);t[p]。premax=max(t[p])。premax,t[p]。max px);t[p]。add =x,t[p]。max = x;} } inline void push down(int p){ pushup _ add(ls,t[p].添加,t[p]。preadd);pushup_add(rs,t[p])。添加,t[p]。preadd);t[p]。add=t[p]。preadd = 0;if(t[p]。state){pushup_set(ls,t[p])。set,t[p]。预设);pushoup _ set(rs,t[p])。set,t[p]。预设);t[p]。state=0,t[p]。set=t[p]。预置= 0;}}void update(int p,int l,int r,ll x){if(l=t[p]。lt[p]。r=r) return pushup_add(p,x,x);下推(p);if(l=mid)更新(ls,l,r,x);if(rmid) update(rs,l,r,x);刷新(p);}void modify(int p,int l,int r,ll x){if(l=t[p]。lt[p]。r=r)返回pushup_set(p,x,x);下推(p);if(l=mid)修改(ls,l,r,x);if(rmid) modify(rs,l,r,x);刷新(p);}ll query_max(int p,int l,int r){if(l=t[p]。lt[p]。r=r)返回t[p]。max下推(p);ll res =-inf;if(l=mid) res=max(res,query_max(ls,l,r));if(rmid) res=max(res,query_max(rs,l,r));返回res;}ll query_pre(int p,int l,int r){if(l=t[p]。lt[p]。r=r)返回t[p]。premax下推(p);ll res =-inf;if(l=mid) res=max(res,query_pre(ls,l,r));if(rmid) res=max(res,query_pre(rs,l,r));返回res} int main{ scanf( % d ,n);for(int i = 1;i = n;i)scanf( % d ,a[i]);build(1,1,n);scanf( % d ,m);while(m-){ char op[2];int x,y,z;scanf( %s%d%d,op,x,y);开关(op[0]){ case ;问与答。;:printf( % lld \ n ,query_max(1,x,y));打破;凯斯 a :printf( % lld \ n ,query_pre(1,x,y));打破;凯斯 宝洁公司。;:s canf( % d ,z);update(1,x,y,z);打破;凯斯 c :s canf( % d ,z);modify(1,x,y,z);打破;} }返回0;}标签:
赋值加法
了解更多顶级监控cpu(监控cpu命令)相关内容请关注本站点。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product