![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线段树与树状数组
shawwwOvO
这个作者很懒,什么都没留下…
展开
-
H - Skyscraper(树状数组、差分、思维、区间加、单点修改)
我是sb^^用区间加、单点操作写的代码只用单点操作H - Skyscraper 题意: 原数组hnh_nhn初始值均为0,给定数组ana_nan是要求达到的值。现在可以选择下标[l,r][l,r][l,r]进行区间+1+1+1的操作。现在有两种操作:1 l r k1\ \ l \ \ r \ \ k1 l r k表示对数组al,al+1,.... ,ar原创 2020-10-08 21:04:22 · 258 阅读 · 0 评论 -
POJ 1151 Atlantis(扫描线法、线段树、离散化)
POJ 1151 Atlantis(扫描线法、线段树、离散化)蓝书线段树练习题 POJ 1151 Atlantis题意:给定n个矩形的左下、右上的两个坐标点(x,y)(x,y)(x,y),求他们的面积并(总面积)数据范围:n:100、x/y:1e5n:100、x/y:1e5n:100、x/y:1e5思路:现在好困明天再写^^LL n;struct SegmentTree{ int ...原创 2020-04-29 01:16:26 · 105 阅读 · 0 评论 -
POJ 2482 Stars in Your Window(扫描线法、线段树区间加维护最大值、离散化)
POJ 2482 Stars in Your Window蓝书线段树练习题POJ 2482 Stars in Your Window题意:给定nnn个星星,长www高hhh的框框。每个星星给定坐标(x,y)(x,y)(x,y),亮度ccc。问框内最大的亮度和。(边界上的亮度不记)数据范围:n:1e4,w/h:1e6,x/y:231n:1e4,w/h:1e6,x/y:2^{31}n:1e4,...原创 2020-04-28 12:09:07 · 100 阅读 · 0 评论 -
一写东西(记得补)
忘记时候看一看字符串字符串反转字符串插入长度截取比较map二维下标是string字符串字符串反转tt就是s[i]反转后的string tt="";tt+=s[i];reverse(tt.begin(),tt.end());字符串插入头插ans.insert(0,tt);尾插ans+=tt;长度ans的字符个数 注意下标从0开始ans.length();截取从...原创 2020-02-15 22:27:07 · 252 阅读 · 0 评论 -
Can you answer these queries III(线段树求区间最大子段和)
Can you answer these queries III(区间最大子段和)蓝书题目Can you answer these queries III给定长度为N的数列A,以及M条指令 (N≤500000, M≤100000),每条指令可能是以下两种之一:“2 x y”,把 A[x] 改成 y。“1 x y”,查询区间 [x,y] 中的最大连续子段和,即max(x≤l≤r≤y)∑ri...原创 2020-04-25 23:29:46 · 237 阅读 · 0 评论 -
线段树求区间和(模板2、lazy数组)
给定一个 n 位数组和两种操作:操作1:数组中某个区间的所有数字加上一个值操作2:查询数组中某个区间的所有数字之和模板题struct SegmentTree{ int l,r; LL sum,add; #define l(x) tree[x].l #define r(x) tree[x].r #define sum(x) tree[x].sum #de...原创 2020-04-25 23:18:39 · 159 阅读 · 0 评论 -
线段树求区间最大值(模板1)
题意:给定一个 n 位数组和两种操作:操作1:修改数组中某个位置的值操作2:查询数组中某个区间的最大值模板题struct SegmentTree{ int l,r; int dat; #define l(x) tree[x].l #define r(x) tree[x].r #define dat(x) tree[x].dat}tree[maxn*4];...原创 2020-04-25 23:16:51 · 1652 阅读 · 0 评论 -
Interval GCD(线段树带修改求区间gcd)
D. Interval_GCD蓝书题目 Interval GCD题意:给定n个数字Ai,M次操作(N:5e5,M:5e5)操作有两种:C l r d 将A[l,r]加上dQ l r 询问A[l,r]的最大公约数思路:gcd(a1,a2,a3,a4...,an)=gcd(a1,a2−a1,a3−a2,a4−a3...an−an−1)\gcd(a_1,a_2,a_3,a_4.....原创 2020-04-25 23:11:18 · 346 阅读 · 0 评论 -
线段树与树状数组
线段树线段树模板树状数组模板线段树模板可实现:单点查询、区间查询void up(int rt){ s[rt]=s[rt*2]+s[rt*2+1];}void build(int rt,int l,int r){ if(l==r){ s[rt]=1; return ; } int mid=(l+r)/2; build...原创 2020-04-25 23:01:01 · 196 阅读 · 0 评论