随笔分类 - 数据结构-线段树
摘要:```cpp 【题目描述】: 图图计划去Bzeroth 的精灵王国去旅游,精灵王国由n 座城市组成,第i 座城市有3 个属性x[i],w[i],t[i]。 在精灵王国的城市之间穿行只能依靠传送阵,第i 座城市的传送阵可以将图图从城市i 传送到距离城市i 不超过w[i]的任意一个城市,并需要t[i]的
阅读全文
摘要:题面:https://www.luogu.org/problem/P2184 cpp 本题要求的是[l,r]内满足0 include include include include using namespace std; const int N=1000005; int n,m,l[N],r[N]
阅读全文
摘要:题面:https://www.luogu.org/problem/P1083 cpp 一题简单的线段树(但在这题看来似乎是一种玄学算法) 开一个线段树维护区间最小值和支持区间修改即可 只要整个区间中有 include include include include include define MA
阅读全文
摘要:```cpp 题目背景 深绘里一直很讨厌雨天。 灼热的天气穿透了前半个夏天,后来一场大雨和随之而来的洪水,浇灭了一切。 虽然深绘里家乡的小村落对洪水有着顽固的抵抗力,但也倒了几座老房子,几棵老树被连根拔起,以及田地里的粮食被弄得一片狼藉。 无奈的深绘里和村民们只好等待救济粮来维生。 不过救济粮的发放
阅读全文
摘要:```cpp include include include include include include include include using namespace std; const int N=1000005; int n,m,root=1,cnt=1,lson[N],rson[N],
阅读全文
摘要:```cpp include include include include include include include include using namespace std; const int M=5000005; int Cnt,n,m,sum[M 1; lc[t]=build(l,mi
阅读全文
摘要:```cpp include include include include include include include include using namespace std; const int N=205; double x[N],sum[N=r){ cnt[i]+=v; pushup(i
阅读全文
摘要:```cpp include include include include include include include include define ls (o 1; down(o); if(ql 1; down(o); if(ql 1,ans =0; down(o); if(ql
阅读全文
摘要:```cpp include include include include include include include using namespace std; const int N=200005; int n,bit,q; long long sum[Nb?a:b; } long long
阅读全文
摘要:```cpp 【题目描述】: 现在请求你维护一个数列,要求提供以下两种操作: 1、 查询操作。 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。 限制:L不超过当前数列的长度。 2、 插入操作。 语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行
阅读全文
摘要:```cpp 【题目描述】: 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.将某区间每一个数乘上x 3.求出某区间每一个数的和 【输入描述】: 第一行包含三个整数N、M、P,分别表示该数列数字的个数、操作的总个数和模数。 第二行包含N个用空格分隔的整数,其中第i个数字
阅读全文
摘要:```cpp 【题目描述】: 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.求出某区间每一个数的和 【输入描述】: 第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。 第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。 接下来M行每
阅读全文
摘要:```cpp 奇怪的题目背景 所误入的 是回忆的教室 所响起的 是通向绝望的计时器 所到达的 是开始的结束 你能相信吗? 题目背景 最近礼奈酱学会了线段树和树状数组两种数据结构 由于礼奈酱上课听的很认真,所以她知道 树状数组常见的操作是 单点加区间求和 线段树常见的操作是 区间加区间求和 但她认为自
阅读全文
摘要:```cpp include include include include include include include include using namespace std; const int M=200005; int Cnt,n,m,l,r,k,q,ans,sum[M 1; build
阅读全文
摘要:```cpp include include include include include define MAXN 100010 define inf 0x3f3f3f3f using namespace std; struct node{ int l,r;//区间[l,r] int add;//
阅读全文

浙公网安备 33010602011771号