
树状数组&&线段树
aeipyuan
渣渣一枚,请多指教。。。。。。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
树状数组
树状数组 定义 树状数组(Binary Indexed Tree(B.I.T), Fenwick Tree)是一个查询和修改复杂度都为log(n)的数据结构。主要用于查询任意两位之间的所有元素之和,但是每次只能修改一个元素的值;经过简单修改可以在log(n)的复杂度下进行范围修改,但是这时只能查询其中一个元素的值(如果加入多个辅助数组则可以实现区间修改与区间查询)。 作用: 实现求数组前缀和 实现批量更新 区间和快速查询(实质是两个端点前缀和相减得到) 下图为树状数组实现原理,红色箭头代表更新操作的原创 2020-05-09 19:26:25 · 144 阅读 · 0 评论 -
封装线段树实现基本功能
线段树封装 1. 结点类TreeNode /* 树结点*/ function TreeNode(x, y, val) { this.x = x; this.y = y; this.val = val || null; } 2. 线段树类 通过options可以传入pushUp函数设置父子结点关系,root记录线段树根节点 function SegTree(options)...原创 2020-05-03 13:56:59 · 296 阅读 · 0 评论 -
最大子序和 动态规划|线段树实现
最大子序和 动态规划|线段树实现 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 进阶: 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。 链接:https://leetcode-cn...原创 2020-05-03 13:42:56 · 233 阅读 · 0 评论 -
HDU 1541 STAR(树状数组)
Stars Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 13280 Accepted Submission(s): 5184 Problem Description Astronomers often examine sta...原创 2018-11-30 18:18:38 · 204 阅读 · 0 评论 -
A.Ocean的礼物线段树
A: Ocean的礼物 Time Limit: 2 s Memory Limit: 128 MB Submit My Status Problem Description 皇家理工存在一段很神奇的路段,这段路由nn个格子组成,每个格子都有一个数字,你可以走这段路的任意一段。这段路的神奇之处就在于,如果你所处的这个格子数字和你经过的前一个格子数字不相同的话,你就可以获得一个礼物(初始一定可以...原创 2018-08-14 10:05:09 · 166 阅读 · 0 评论 -
HDU 1166 敌兵布阵(线段树/树状数组模板题)
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 128380 Accepted Submission(s): 53795 Problem Description C国的死对头A国这段时间正在进行军事演习,所以C国间谍头...原创 2018-11-30 21:45:48 · 127 阅读 · 0 评论