数据结构之线段树
文章平均质量分 82
SKTMK
长沙理工大学大一新生,acm萌新
展开
-
黑白博弈 | 线段树(维护区间最小值&&最大值)
黑白博弈 题目 分析 代码题目题目链接:黑白博弈分析首先我们通过读题:单点修改、查询很容易发现这道题可以用线段树解决,既然决定了用线段树解决,那么我们需要确定以下几个要素:1:使用线段树维护什么?2:如何通过线段树维护的数据获得我们需要的答案?Question1:我们需要用利用线段树维护什么?通过题目要求我们得知在进行查询操作时需要查询的数据是当前白块区间所有连续的白块数量,也就是说只要知道了该白块区间两端的黑块下标,我们就可以通过这两个黑块下标计算得出该区间的白块个数。那么原创 2021-02-26 23:30:41 · 1386 阅读 · 5 评论 -
矩阵 | 线段树&区间gcd
矩阵**题目分析代码- 题目- 分析首先 我们需要理解x2∑i=x1 gcd(Ciy1,…,Ciy2)的含义:我们将其拆分为:gcd(Cx1y1,…,Cx1y2)+….+gcd(Cx2y1,…,Cx2y2);由于上述式子中每一个gcd里都包含一个公因子x,我们可以将这个x提取出来,那么这个式子就会转化为:(x1+…+x2)*gcd(y1,…,y2)经过转化问题已经非常明显了:题目中给出的a【】数组代表各个x,b【】数组代表各个y我们需要做的就是通过前缀和求出x1到x2的和,原创 2021-02-22 14:40:40 · 378 阅读 · 1 评论 -
神奇的数字串 | 线段树&类滑动窗口
神奇的数字串**题目分析代码*题目*分析首先 我们来理解一下题目中所定义的good串的含义:假设一个数字串长度为n,只有当这个数字串的任意前i(1<=i<=n)项和均大于0,我们才能称这个串为good串。简单来说就是 一个串所有前缀和的最小值大于0 才能称作good串。(不明白前缀和的小伙伴可以去这里https://blog.csdn.net/weixin_45629285/article/details/111146240看看,大佬讲的敲详细)其次 题目中还有一原创 2021-02-21 00:47:42 · 1168 阅读 · 4 评论