这题可以用线段树离散化做,用二维树状数组做了一下,不懂得可以看一下这篇文章:http://www.java3z.com/cwbwebhome/article/article1/1369.html?id=4804
题意:
给你一个s*s的正方形区域,先输入一个x,若x==0,则再输入一个s,若x==1,则输入x,y,a,表示矩阵中(x,y)这点的值加上a,若x==2,输入l,b,r,t,...
分类:
其他好文 时间:
2014-07-22 23:03:12
阅读次数:
263
有两种方法吧,一个是利用了树状数组的性质,很HDU1556有点类似,还有一种就是累加和然后看奇偶来判断答案
题意:给你一个n*n矩阵,然后q个操作,C代表把以(x1,y1)为左上角到以(x2,y2)为右下角的矩阵取反,意思就是矩阵只有0,1元素,是0的变1,是1的变0,Q代表当前(x,y)这个点的状况,是0还是1?
区间修改有点特别,但是若区间求和弄懂了应该马上就能懂得:...
分类:
其他好文 时间:
2014-07-22 23:02:53
阅读次数:
225
一次AC
二维树状数组,有模版很好办
注意二维树状数组这个下标是[1][1]的
#include
#include
#include
#include
#include
#include
using namespace std;
const int Max = 1030;
int row, col, ar[Max][Max];
// 二维的其实下标为[1][1],这个要记得。
...
分类:
其他好文 时间:
2014-05-21 16:23:34
阅读次数:
271