![](https://img-blog.csdnimg.cn/20210127112015408.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构——线段树
文章平均质量分 51
线段树
lllllan.
盛意以江河,江河不及你
展开
-
POJ 3162 Walking Race【树形DP + 线段树】
Walking Race 题意: 题意大致是,nnn天,第iii天点iii出发,跑到距离iii点最远的点,记录距离。求最大的连续天数,使得其中的最大距离−最小距离<m最大距离-最小距离<m最大距离−最小距离<m 题解: 树形DP求解每个点的最远距离,然后线段树求区间最大最小值即可。 #include<iostream> #include<algorithm> #include<cstring> #include<cmath> u...原创 2021-02-16 12:27:14 · 152 阅读 · 0 评论 -
线段树模板
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 1e5 + 10; #define lrt rt << 1 #define rrt rt << 1 | 1 int n, m; int a[maxn]; struct node { int l, r; ll sum, lazy; int mid () { return l + r >>原创 2021-02-01 21:32:23 · 83 阅读 · 0 评论 -
线段树模板 & 树状数组模板
线段树的原 目录 线段树的原理: 树状数组功能: 理: 将[1,n]分解成若干特定的子区间(数量不超过4*n),然后,将每个区间[L,R]都分解为少量特定的子区间,通过对这些少量子区间的修改或者统计,来实现快速对[L,R]的修改或者统计。 作用:对编号连续的一些点的区间信息进行修改或者统计操作 主要操作:区间查询、点更新、区间更新 时间复杂度:修改和统计的复杂度都是O(log(N)) 由原理可以看出线段树维护的信息必须满足区间加法 没有懒惰标记的线段树模板: #include<.原创 2020-07-29 09:28:39 · 206 阅读 · 0 评论 -
kuangbin专题七 线段树
kuangbin专题 1. 敌兵布阵 HDU - 1166 难度: ★【究极入门题,纯当是检验本子】 题意: 中文题面,不再赘述 题解: 参考线段树&树状数组算法,有板子就是直接AC。 因为是回头刚整理线段树,所以搞了个不一定全面当时非常长的模板,凑合着用 #include<bits/stdc++.h> using namespace std; const int inf = 0x3f3f3f3f; const int maxn = 1e5 + 10; #define lrt rt &原创 2021-01-27 11:19:00 · 176 阅读 · 0 评论