树状数组
team79
我在努力。
展开
-
poj 2481 树状数组
要用sort,qsort会超时 第一道树状数组,原创 2014-07-16 18:00:13 · 516 阅读 · 0 评论 -
zoj 2900 dp or 线段树
好久没刷题了。。。妈的 自从打铁回来之后一个星期用来恢复心情,然后一直赶各种报告原创 2014-11-18 21:41:33 · 743 阅读 · 0 评论 -
hdu 4031 树状数组
每个点被成功攻击次数等于原创 2014-08-24 11:50:03 · 602 阅读 · 0 评论 -
poj 3468 树状数组
树状数组天生用来动态维护数组前缀和,其特点是每次更新一个元素的值,查询只能查数组的前缀和, 但这个题目求的是某一区间的数组和,而且要支持批量更新某一区间内元素的值,怎么办呢?实际上, 还是可以把问题转化为求数组的前缀和。 首先,看更新操作update(s, t, d)把区间A[s]...A[t]都增加d,我们引入一个数组delta[i],表示 A[i]..原创 2014-08-23 14:08:02 · 681 阅读 · 0 评论 -
poj 1990 树状数组
开始对距离排序 然后果断的TLE了 然后发现应该对power排序,这样的话,我们记录一下比当前值小的个数,已经距离综合,这样就能直接求出每次要算的值 AC代码如下:原创 2014-07-18 12:16:19 · 503 阅读 · 0 评论 -
树状数组小结
树状数组就两种情况,每次更新一个点,原创 2014-07-18 21:46:21 · 603 阅读 · 0 评论 -
poj 2309 树状数组
这题其实相同了就好,通过观察发现,其实树状数组的每个点的管辖范围就是原创 2014-07-18 21:48:35 · 631 阅读 · 0 评论 -
poj 3321 树状数组
首先对数进行DFS一下,前序优先遍历,这样做的目的原创 2014-07-18 00:18:44 · 529 阅读 · 0 评论 -
hdu 1556 树状数组
这题用树状数组做的,貌似原创 2014-07-16 18:15:37 · 564 阅读 · 0 评论 -
poj 2352 树状数组
要求x1 然后先原创 2014-07-17 08:43:11 · 524 阅读 · 0 评论 -
poj 2299 树状数组
就是求每个数之前比他大的数的个数,然后因为数太大了原创 2014-07-16 20:49:38 · 574 阅读 · 0 评论 -
poj 2155 二维树状数组
还是注意向上向下更新,原创 2014-07-16 20:21:55 · 505 阅读 · 0 评论 -
poj 1198 二维树状数组
每次更新一个点,然后最后统计一个区间 很常规 AC代码如下: #include #include #include #include using namespace std; const int MAX_S = 1024 + 5; int sum[MAX_S][MAX_S]; int statu, S; inline int lowbit( int x ){ retur原创 2014-07-17 12:29:12 · 513 阅读 · 0 评论 -
poj 3067 树状数组
首先排序下。。。。 AC代码如下: #include #include #include #include using namespace std; const int MAX_N = 1000; struct Node{ int a, b; }; Node node[1000010]; int sum[MAX_N+5]; int M, N, K; bool cmp(原创 2014-07-16 22:18:57 · 616 阅读 · 0 评论 -
树状数组的改段求段详解
转自九野巨巨的博客,orz,给跪了http://blog.csdn.net/qq574857122/article/details/46876877以下是对于如何利用树状数组进行区间修改和区间查询的简介可以代替不需要lazy tag的线段树,且代码量和常数较小首先定义一个数组 int c[N]; 并清空 memset(c, 0, sizeof c); 1、单点修改 : c[x] += y; 对应的转载 2015-07-14 18:31:31 · 584 阅读 · 0 评论