随笔分类 -  树状数组

摘要:1 #include 2 #include 3 #include 4 #define MAXN 100005 5 #define M 20005 6 typedef __int64 LL ; 7 using namespace std; 8 LL n,max_num ; 9 LL s[M],a[M... 阅读全文
posted @ 2015-08-31 23:50 fancy_boy 阅读(164) 评论(0) 推荐(0)
摘要:对于求逆序数问题,学会去利用树状数组进行转换求解方式,是很必要的。一般来说我们求解逆序数,是在给定一串序列里,用循环的方式找到每一个数之前有多少个比它大的数,算法的时间复杂度为o(n2)。那么我们通过树状数组可以明显提高时间效率。我们可以按照排列的顺序依次将数字放入树状数组中,并依次更新预与之相关联... 阅读全文
posted @ 2015-03-14 23:43 fancy_boy 阅读(370) 评论(0) 推荐(0)
摘要:树状数组(Binary Indexed Tree(BIT), Fenwick Tree)是一个查询和修改复杂度都为log(n)的数据结构。主要用于查询任意两位之间的所有元素之和,但是每次只能修改一个元素的值;经过简单修改可以在log(n)的复杂度下进行范围修改,但是这时只能查询其中一个元素的值。这种... 阅读全文
posted @ 2015-03-03 23:31 fancy_boy 阅读(1375) 评论(0) 推荐(1)