DescriptionGiven an N*N matrix A, whose elements are either 0 or 1. A[i, j] means the number in the i-th row and j-th column. Initially we have A[i, j...
分类:
编程语言 时间:
2015-03-07 13:40:34
阅读次数:
157
大致题意:给出矩阵左上角和右下角坐标,矩阵里的元素 1变0 ,0 变1,然后给出询问,问某个点是多少.
每次变化操作相当于把区间上的值全加一,然后对查询的结果模二即可
这是树状数组第二种模式的应用:
Up()表示修改区间,Down()表示求单点的值。
Down()表示修改区间,Up()表示求单点的值。
http://www.topcoder.co...
分类:
编程语言 时间:
2015-02-24 15:12:09
阅读次数:
240
http://poj.org/problem?id=2155
Matrix
Time Limit: 3000MS
Memory Limit: 65536K
Total Submissions: 18769
Accepted: 7078
Description
Given an N*N matrix A, whose ...
分类:
编程语言 时间:
2014-10-12 01:49:27
阅读次数:
310
一个N*N(1
C x1,y1,x2,y2 表示从x1行y1列到x2行y2列的元素全部反转(0变成1,1变成0);
Q x y表示询问x行y列的元素是0还是1。
题目乍一看感觉还是很难,如果能记录每一个元素的状态值,那答案是显而易见的,但是元素过多,如果每次都对每一个元素进行更新状态的话,复杂度太高。实际上只要记录边界的特定坐标的反转次数,最好的选择那就是二维树状数组了。
...
分类:
其他好文 时间:
2014-07-27 11:17:02
阅读次数:
215
有两种方法吧,一个是利用了树状数组的性质,很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
Matrix
Time Limit: 3000MS
Memory Limit: 65536K
Total Submissions: 17766
Accepted: 6674
Description
Given an N*N matrix A, whose elements are either 0 or 1. A[i, j] ...
分类:
其他好文 时间:
2014-07-15 12:24:44
阅读次数:
319
有工具在手,这题就是一个模板题,就是有点不清楚,最后问的是单个元素的值,它怎么sum求出来的
#include
#include
#include
#include
using namespace std;
#define maxn 1005
int c[maxn][maxn];
int Row, Col;
inline int Lowbit(const int &x)
{
...
分类:
其他好文 时间:
2014-06-27 07:38:00
阅读次数:
281