博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
线段树练习题
阅读量:4485 次
发布时间:2019-06-08

本文共 2158 字,大约阅读时间需要 7 分钟。

1.洛谷1531

 点修改,查询区间最大值

1 #include
2 #include
3 #include
4 #define ls (cur<<1) 5 #define rs (cur<<1|1) 6 #define mid ((a[cur].l+a[cur].r)>>1) 7 #define len(x) (a[x].r-a[x].l+1) 8 using namespace std; 9 int n,m,k,x,y;10 struct tree{
int l,r,max;}a[800010];11 void read(int &k){12 k=0; int f=1; char c=getchar();13 while(c<'0'||c>'9')c=='-'&&(f=-1),c=getchar();14 while('0'<=c&&c<='9')k=k*10+c-'0',c=getchar();15 k*=f;16 }17 void pushup(int cur){a[cur].max=max(a[ls].max,a[rs].max);}18 void build(int cur,int l,int r){19 a[cur].l=l; a[cur].r=r;20 if(l
mid) ret=max(ret,query(rs,l,r));32 return ret;33 }34 int main(){35 read(n); read(m); build(1,1,n); 36 for (int i=1;i<=m;i++){37 char c=getchar();38 while (c!='Q'&&c!='U') c=getchar();39 read(x); read(y);40 if(c=='Q') printf("%d\n",query(1,x,y));41 else update(1,x,y);42 }43 return 0;44 }
View Code

 

2.BZOJ 1012最大数Maxnumber

1 #include
2 #include
3 #define ls (cur<<1) 4 #define rs (cur<<1|1) 5 #define mid ((a[cur].l+a[cur].r)>>1) 6 using namespace std; 7 const int maxn=800010; 8 long long n,m,x,y,z,k,d; 9 struct tree{10 int l,r;11 long long max;12 }a[maxn];13 void read(long long &k){14 k=0; int f=1; char c=getchar();15 while (c<'0'||c>'9')c=='-'&&(f=-1),c=getchar();16 while ('0'<=c&&c<='9')k=k*10+c-'0',c=getchar();17 k*=f;18 }19 void build(int cur,int l,int r){20 a[cur].l=l; a[cur].r=r;21 if (l
mid) ret=max(ret,query(rs,l,r));40 return ret;41 }42 }43 int main(){44 read(m);45 build(1,1,m);46 read(d);47 long long t=0;48 for (int i=1;i<=m;i++){49 char c=getchar();50 if (c=='A'){51 n++;52 read(x);53 add(1,n,x+t);54 }55 else{56 read(x);57 t=query(1,n-x+1,n);58 printf("%lld\n",t);59 }60 }61 return 0;62 }
View Code

 

转载于:https://www.cnblogs.com/DriverLao/p/7944159.html

你可能感兴趣的文章
最简陋的python数据
查看>>
第一堂java web课
查看>>
操作系统简介
查看>>
第1周小组博客作业--1703班06组
查看>>
vue项目中icon图标的完美引入
查看>>
C语言指针
查看>>
Java的安装
查看>>
0920 JSON数据 蓝懿
查看>>
Azure Cosmos DB 使用费用参考
查看>>
C# 子线程与主线程通讯方法一
查看>>
006——修改tomacat的编码
查看>>
《C程序设计语言》笔记 (八) UNIX系统接口
查看>>
git常用命令
查看>>
Android必知必会-获取视频文件的截图、缩略图
查看>>
(转)理解Bitblt、StretchBlt与SetDIBitsToDevice、StretchDibits
查看>>
ViurtualBox配置虚拟机Linux的网络环境
查看>>
VLC 媒体播放器
查看>>
\n ^ \t的使用
查看>>
css盒模型
查看>>
探索式测试:测试自动化
查看>>