ACM算法
十二月与一月
这个作者很懒,什么都没留下…
展开
-
ACM——前缀和二维前缀和与差分的个人理解
前缀和 什么是前缀和 前缀和顾名思义就是指一个数组的某一个下标的(包括该下标)之前的所有数组元素的和。现在我们假设有某一数组a = [1, 2, 3, 4, 5, 6, 7, 8, 9]。其前缀和数组为sum,那么sum数组与a数组对应的关系如下图所示。 由上面的对应关系我们可以得到他们满足如下的公式。 以上的公式即为一维前缀和一维前缀和的代码模板如下所示。 /** * 一维前缀和 * * @a 表示原数组 * @sum 表示a数组的一维前缀和原创 2020-05-28 18:49:12 · 782 阅读 · 1 评论 -
ACM---线段树个人理解
线段树 定义: 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(logN)。而未优化的空间复杂度为2N,实际应用时一般还要开4N的数组以免越界,因此有时需要离散化让空间压缩。对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[...原创 2020-05-27 12:22:19 · 328 阅读 · 0 评论