随笔分类 -  数据结构---树状数组

摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1166 题目大意: 维护动态的区间和,单点更新,就是模板题 阅读全文
posted @ 2018-04-24 00:15 _努力努力再努力x 阅读(129) 评论(0) 推荐(0)
摘要:题目链接: https://vjudge.net/problem/SPOJ-MATSUM 题目大意: 二维数组,两种操作 SET 将某点设置成x SUM 求某个区域之和 解题思路: 这里用二维树状数组 SUM可以直接求出来 这里将某点设置成x,和树状数组不同,树状数组是讲某点加上一个值,但是可以另外 阅读全文
posted @ 2018-04-24 00:10 _努力努力再努力x 阅读(202) 评论(0) 推荐(0)
摘要:题目链接: https://vjudge.net/problem/POJ-2299 题目大意: 本题要求对于给定的无序数组,求出经过最少多少次相邻元素的交换之后,可以使数组从小到大有序。 两个数(a, b)的排列,若满足a > b,则称之为一个逆序对。 n < 500,000 0 ≤ a[i] ≤ 阅读全文
posted @ 2018-04-23 23:59 _努力努力再努力x 阅读(363) 评论(0) 推荐(0)
摘要:二维的树状数组和一维的类似,分为单点更新区间查询和区间更新单点查询两种 1、单点更新,区间查询 add(int x, int y, int d):tree[x][y] += d; sum(int x, int y):返回(1,1)到(x, y)之和 注意: 修改某一点的值,num[x][y] += 阅读全文
posted @ 2018-04-23 23:18 _努力努力再努力x 阅读(256) 评论(0) 推荐(0)
摘要:附上学习PPT:传送门 概念 树状数组或者二叉索引树也称作Binary Indexed Tree,又叫做Fenwick树;它的查询和修改的时间复杂度都是log(n),空间复杂度则为O(n),这是因为树状数组通过将线性结构转化成树状结构,从而进行跳跃式扫描。通常使用在高效的计算数列的前缀和,区间和。 阅读全文
posted @ 2018-04-23 11:17 _努力努力再努力x 阅读(332) 评论(0) 推荐(0)