日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

树状数组2

發布時間:2024/9/3 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 树状数组2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1157: 新年彩燈Ⅱ
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 73 Solved: 25
[Submit][Status][Web Board]
Description

新年將至,YY準備掛一片彩燈,形狀呈矩形,已知彩燈剛掛完的彩燈共有N*N盞(第一排編號為(1,1),(1,2),(1,3),……,第二排編號為(2,1),(2,2),(2,3)……第N排編號為(N,1),(N,2)……(N,N)),并且都是滅的。彩燈的閃爍由一段程序控制。

每一秒鐘程序會生成四個正整數a1,b1,a2,b2(1<=a1,b1,a2,b2<=N),然后將編號(x,y)滿足x在a1與a2之間,y在b1與b2之間的燈狀態改變一次,即如果燈(x,y)是滅的,那么經過一次改變,燈(x,y)會亮,如果燈(x,y)是亮的,經過一次改變,燈(x,y)會滅。

當YY看著自己掛的彩燈不斷閃爍的時候,問題來了,YY想知道任意時刻某盞燈的狀態。

Input

多組測試數據,每一組第一行是一個整數N(1<=N<=1000)和一個整數M(1<=M<=3000)。

然后是M行數據,包括以下兩種形式:

1 a1 b1 a2 b2 表示將編號(x,y)滿足x在a1與a2之間,y在b1與b2之間的燈狀態改變一次。0 x y 表示YY想知道此刻編號(x,y)的燈狀態。

Output

對于每組測試數據首先輸出“Case #:”(’#'表示case序數)

對于每次YY想知道結果的時候,輸出燈的狀態,如果是亮的輸出”1”,否則輸出”0”;

Sample Input

3 5
1 1 1 2 2
1 2 2 3 3
0 1 1
0 2 2
0 3 3
2 3
0 1 1
1 1 1 2 2
0 1 1

Sample Output

Case 1:
1
0
1
Case 2:
0
1

HINT

Source

/*
模板題~
只是換成二維了,其他處理一樣,

*/
AC_code~:

#include <stdio.h> #include <string.h>int a[1002][1002];int N,M,c = 0;int lowbit(int x){return x&-x;}int SUM(int x,int y){int sum = 0;for(int j = y; j > 0; j-=lowbit(j))sum += a[x][j];return sum;}void update_point(int begin_a,int k,int a1,int a2){for(int i = a1; i <= a2; i++){for(int j = begin_a; j <= N; j+=lowbit(j))a[i][j] += k;}}void update_range(int b1,int b2,int k,int a1,int a2){update_point(b1,k,a1,a2);update_point(b2+1,-k,a1,a2);}int main(){while(~scanf("%d%d",&N,&M)){c++;printf("Case %d:\n",c);memset(a,0,sizeof(a));int h;while(M--){scanf("%d",&h);if(h){int a1,a2,b1,b2;scanf("%d%d%d%d",&a1,&b1,&a2,&b2);int t;a1 < a2?(t = 1):(t = a1,a1 = a2,a2 = t);b1 < b2?(t = 1):(t = b1,b1 = b2,b2 = t);update_range(b1,b2,1,a1,a2);}else{int x,y;scanf("%d%d",&x,&y);if(SUM(x,y) % 2 == 1)printf("1\n");elseprintf("0\n");}}}return 0;}

總結

以上是生活随笔為你收集整理的树状数组2的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。