
数据结构:树状数组
文章平均质量分 74
论菜鸟的自我修养
凡事不能将我们毁灭,必使我们更强大
展开
-
POJ 2155 Matrix <树状数组 + 矩阵翻转>
传送门:http://poj.org/problem?id=2155 题意:给你一个N*N的矩阵,初始化每个格子都是0,给你两种操作,C :翻转操作,以这两点围成的矩形内数字进行翻转(0变1,1变0);Q:询问某一格子所对应的值 分析:典型的树状数组 #include #include #include using namespace std; const i原创 2016-08-07 00:01:09 · 240 阅读 · 0 评论 -
SGU 180 Inversions <一维树状数组区间查询>
传送门:http://acm.sgu.ru/problem.php?problem=180 #include #include #include #include #include using namespace std; const int MAXN = 100010; int a[MAXN] = {0}, b[MAXN] = {0}, n, *p; int sum[MAXN] = {0原创 2016-09-05 14:13:25 · 283 阅读 · 0 评论 -
彻底弄懂二维树状数组
当要频繁的对数组元素进行修改,同时又要频繁的查询数组内任一区间元素之和的时候,可以考虑使用树状数组. 通常对一维数组最直接的算法可以在O(1)时间内完成一次修改,但是需要O(n)时间来进行一次查询.而树状数组的修改和查询均可在O(log(n))的时间内完成. 一、回顾一维树状数组 假设一维数组为A[i](i=1,2,...n),则与它对应的树状数组C[i](i=1,2,..转载 2016-09-05 14:14:44 · 1699 阅读 · 0 评论 -
2016 Asia Regional Dalian Online 1010 Weak Pair
HDU 5877 #include #include #include #include #include #include #include #include using namespace std; const int maxn = 100010; #define LL long long LL n,k,a[maxn],ans; map mp; vector sons[原创 2016-09-12 10:45:05 · 322 阅读 · 0 评论