树状数组
文章平均质量分 74
我爱AI_AI爱我
不爱
展开
-
利用树状数组(对数组左侧比数组小的点的个数进行维护)
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=5775 题意:T组数组,长度为n的数组,n个元素属于[1,n]不重复,即是1-n全排列中的一种。对其进行冒泡排序,问在冒泡排序的过程中从1-n的数字所到达的最右边的点减去最左边的点的距离 分析:每个数字i都有一个初始位置,和一个结束位置,按数字i不方便,仍按照数组a[i]。a[i]中i +1表示a[i原创 2016-07-29 22:41:29 · 430 阅读 · 0 评论 -
浅谈树状数组(伪讲解)
树状数组主要用于解决:点更新,区间查询的问题。都是log(n)的复杂度 树状数组与线段树类似,都是一个树包含多个树。但树状数组更为随意,但更符合机器的规则,二进制运算明显更快。 与线段树的区别:线段树试用范围更广,解决的问题比树状数组多。树状数组的代码明显更加简短。 树状数组的大小只需开一个和原数组大小一样的即可 附主要代码://修改操作 void add(int k,int原创 2016-07-29 22:32:09 · 270 阅读 · 0 评论