树状数组
爱上键盘的小哥哥
这个作者很懒,什么都没留下…
展开
-
树状数组
#include #include using namespace std; const int N = 100005; int num[N*4],arr[N]; int n; int lowbit(int x) { return x&(-x); } void change(int pos,int x) { while(pos<=n) { num[pos]+=x; pos+=lo原创 2017-12-19 09:26:15 · 148 阅读 · 0 评论 -
逆序数 (树状数组)
在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。 如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序数是4。给出一个整数序列,求该序列的逆序数。 Input 第1行:N,N为序列的长度(n 第2 - N + 1行:序列中的元素(0 iOutput 输出逆序数 Sample In原创 2018-01-23 15:59:07 · 349 阅读 · 0 评论 -
子段求和
给出一个长度为N的数组,进行Q次查询,查询从第i个元素开始长度为l的子段所有元素之和。 例如,1 3 7 9 -1,查询第2个元素开始长度为3的子段和,1 {3 7 9} -1。3 + 7 + 9 = 19,输出19。 Input 第1行:一个数N,N为数组的长度(2 第2 至 N + 1行:数组的N个元素。(-10^9 i 第N + 2行:1个数Q,Q为查询的数量。 第原创 2018-01-24 09:36:30 · 247 阅读 · 0 评论 -
Bubble Sort HDU - 5775 (树状数组)
P is a permutation of the integers from 1 to N(index starting from 1). Here is the code of Bubble Sort in C++. for(int i=1;i<=N;++i) for(int j=N,t;j>i;—j) if(P[j-1] > P[j])原创 2018-01-27 15:37:16 · 217 阅读 · 0 评论