摘要: 今天学了很多关于树状数组的技巧。一个是利用树状数组可以简单的实现段更新,点询问(二维的段更新点询问也可以),每次修改只需要修改2个角或者4个角就可以了,另外一个技巧就是这题,原本用线段树做,现在可以用树状数组做的题,只需多维护一个bit即可。具体的思路见下面的链接:http://hi.baidu.com/billdu/item/053f6a15ca301b0a8ebde400要理解里面的橙色块求的时候是打竖看的,不是打横看的。#pragma warning(disable:4996)#include#include#include#include#include#include#include 阅读全文
posted @ 2014-02-18 23:30 chanme 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 神一般的二维区间更新,运用二维树状数组会有神奇的效果。更改四个角实现区间更改的效果实在是太神奇了。。#pragma warning(disable:4996)#include#include#include#include#include#include#define maxn 1000using namespace std;int bit[maxn + 50][maxn + 50];int n;void inc(int i, int j,int m){ for (; i 0; i -= i&-i){ for (int tmpj = j; tmpj > 0; tmpj -= tm 阅读全文
posted @ 2014-02-18 17:08 chanme 阅读(153) 评论(0) 推荐(0) 编辑