
树状数组
文章平均质量分 86
sumi
无冥冥之志者无昭昭之明 无惛惛之事者无赫赫之功!
有问题欢迎大家联系我,扣扣2513822561
展开
-
poj 2299 Ultra-QuickSort(离散化+树状数组)
按照 http://hi.baidu.com/czyuan_acm/blog/item/49f02acb487f06f452664fbc.html的思路写的代码, 1.先离散化,要倒着编号 2.求出每个点左边比它小的点的个数 代码: #include #include #include using namespace std; struct node{ int val原创 2012-08-05 12:32:12 · 469 阅读 · 0 评论 -
poj 2299 Ultra-QuickSort(归并排序求逆序数)
题目分析:求逆序数,,, 思路:归并排序,关键在于统计逆序数,如果arr[i]>arr[j],则,ans+=m-i+1, 代码: #include #include using namespace std; int n; __int64 ans; int arr[1001000],arr1[1001000]; void Merge(int s,int m,int t); void M原创 2012-08-06 11:08:26 · 483 阅读 · 0 评论 -
poj 2299 Ultra-QuickSort(利用树状数组变形,求一个数左边比它大的数的个数)
代码: #include #include #include using namespace std; int tree[1001000],b[1001000],n; struct node { int value,no; }arr[1001000]; int cmp(node x,node y) { return x.value<y.value; } int LowBit(int x) {原创 2012-08-06 12:27:52 · 611 阅读 · 0 评论 -
poj 2352 Stars (树状数组)
题目分析:一个数组中,求某个元素左边小于等于它的数的个数,记为level, ans[level]++,按level 从0到输出他们出现次数, 代码: #include #include #include using namespace std; const int MAX=100000; int ans[MAX],tree[MAX],n; int LowBit(int x) { re原创 2012-08-06 15:15:32 · 655 阅读 · 0 评论 -
poj 1195 Mobile phones 二维树状数组
题目分析:给你一个全为0的矩阵,操作 x,y,A,代表将矩阵arr[x][y]+=A, LBRT 代表求矩阵arr[x][y](L 1. 注意树状数组的下标不能从0开始,所以矩阵的arr[1-n][1-n] 2.要求矩阵arr[x][y]=Sum(R,T)+Sum(R,B-1)+Sum(L-1,T)+Sum(L-1,B-1); 代码: #include #include #incl原创 2012-08-06 19:18:09 · 454 阅读 · 0 评论 -
树状数组学习系列1 之 初步分析——czyuan原创
转自:http://hi.baidu.com/czyuan_acm/blog/item/49f02acb487f06f452664fbc.html 其实学树状数组说白了就是看那张图,那张树状数组和一般数组的关系的,看懂了基本就没问题了,推荐下面这个教程:http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=binaryInd转载 2012-08-03 14:56:51 · 780 阅读 · 0 评论