日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > poj 2155 Matrix(樹狀數組的應用)

poj 2155 Matrix(樹狀數組的應用)

來源:程序員人生   發布時間:2014-10-03 08:00:01 閱讀次數:2991次

http://poj.org/problem?id=2155


對于一個n*n(n <= 1000)的01矩陣,初始全為0,有兩種操作。

C x1 y1 x2 y2 ,分別代表矩陣的左上角和右下角,將這個矩陣中的01互換,原為0的變為1,原為1的變為0。

Q x y詢問A[x,y]現在是幾。


因為只有01的互換,且原始為0,那么只需計算[x,y]處被換了幾次就能確定現在這個格子是幾。重點就是怎樣快速計算[x,y]格子被換了幾次。操作方法是將[x1,y1][x1,y2+1][x2+1,y1][x2+1,y2+1]格子出增加1,對于[x,y]只需求[1,1]到[x,y]的和就是[x,y]出被換了幾次。


若轉化成一維的,感覺和多校的一道題挺像,hdu 4970

詳解 


#include <stdio.h> #include <iostream> #include <map> #include <set> #include <bitset> #include <list> #include <stack> #include <vector> #include <math.h> #include <string.h> #include <queue> #include <string> #include <stdlib.h> #include <algorithm> #define LL __int64 //#define LL long long #define eps 1e-9 #define PI acos(-1.0) using namespace std; const int INF = 0x3f3f3f3f; const int mod = 10000007; int c[1010][1010]; int n,m; int Lowbit(int x) { return x&(-x); } void update(int x,int y, int add) { while(x <= n) { int tmp = y; while(tmp <= n) { c[x][tmp] += add; tmp += Lowbit(tmp); } x += Lowbit(x); } } int sum(int x, int y) { int s = 0; while(x >= 1) { int tmp = y; while(tmp >= 1) { s += c[x][tmp]; tmp -= Lowbit(tmp); } x -= Lowbit(x); } return s; } int main() { int test; int x1,y1,x2,y2; scanf("%d",&test); while(test--) { char ch[2]; memset(c,0,sizeof(c)); scanf("%d %d",&n,&m); while(m--) { scanf("%s",ch); if(ch[0] == 'C') { scanf("%d %d %d %d",&x1,&y1,&x2,&y2); update(x1,y1,1); update(x1,y2+1,1); update(x2+1,y1,1); update(x2+1,y2+1,1); } else { scanf("%d %d",&x1,&y1); int s = sum(x1,y1); if(s&1) printf("1 "); else printf("0 "); } } printf(" "); } return 0; }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 男人天堂网在线 | 日本视频免费观看 | 亚洲成人精品一区二区三区 | 一本到高清 | 亚洲电影一区 | 国产一区日韩 | 亚洲综合视频网 | 国内精品视频在线播放 | 波多野结衣av电影在线观看 | 日韩精品一区在线观看 | 中文字幕精品久久 | 国产精品尤物 | 蜜乳av一区| 日韩精品一区在线 | 成人精品一区二区三区视频播放 | 欧美国产日韩在线 | 优优亚洲精品久久久久久久 | 爱爱视频免费 | 欧美第一精品 | 欧美激情午夜 | 欧美激情自拍偷拍 | 玖玖综合九九在线看 | 日韩综合在线视频 | 国产精品成人免费视频 | 欧美日韩国产传媒 | 九九热视频在线播放 | 久久免费视频在线观看 | 91亚洲国产精品 | 午夜精品久久久久久99热软件 | 成人免费在线观看 | 99久久久无码国产精品 | 成人免费观看视频 | 国产99久久精品一区二区永久免费 | 亚av在线| 国产一区二区成人在线 | 一区二区三区欧美 | 成人区精品一区二区婷婷 | 欧美一级黄色网 | 久久成人亚洲 | 成人免费亚洲 | av片在线观看免费 |