poj1195解題報告 樹狀陣列

2022-08-11 03:15:12 字數 826 閱讀 2889

題目大意:在乙個2維的x,y座標軸內,被劃分成了正方形,該正方形是由s*s的矩陣構成(行和列都是從0~s-1)。可以輸入0,1,2,3這些指令

指令:0:0  s---初始化s*s的矩陣,也就是全部置0.

指令1:1 x y a---向正方形(x,y)中加入手機數為a(注意a可能為負數),但是題目中保證正方形(x,y)中手機的個數不會為負數。

指令2:2 l b r t---查詢區域(x,y)區域內的手機數目(l=

指令3:3---表示程式結束。

題目分析:由於s題目中給的比較大,很明顯的樹狀陣列題。題意中又給的需要x,y座標,建立個2維的樹狀陣列就可以搞定了,這題需要特別注意座標(i,j)不能為0,否則就會陷入死迴圈,**中解釋。

我ac的**:

#include

using namespace std;

const int n=1030;

int c[n][n];

int row,col;

//-------------2維陣列的一般模板

int lowbit(const int x)

int sum(int i,int j)         

i-=lowbit(i);           //---同上

}return sum;

}void update(int i,int j,int num)

i+=lowbit(i);          //---同上}}

int main()

if(z==1)

if(z==2)

scanf("%d",&z);

}return 0;

}

POJ 1195 二維樹狀陣列

題意 現對矩陣進行以下操作。0,將乙個方陣初始化為全0。1,某個位置的數加上乙個值。2,詢問某個區域的數字和。要求對每個詢問求出其和。使用二維樹狀陣列即可 matrix x1,y1,x2,y2 sum x2,y2 sum x1 1,y1 1 sum x2,y1 1 sum x1 1,y2 inclu...

poj解題報告 1328

不得不說,這題是讓我飽受折磨,畢竟第一次做貪心演算法,而且wa了好多次,幸好有學長的幫助,最終找到了問題所在,是在快排上是問題,double高位不可向int低位轉換,由於一開始強制轉換導致雖然樣例和其他的測試資料過了,但還是wa,現在改完了就對了,附上ac ps 這題通過率是22 真心不簡單 如下 ...

poj解題報告 2586

這題我是用的貪心演算法,其實不用也可以,列舉也能解決,因為情況不多。因為是每連續5個月必有虧損,而一年只有1 5,2 6,3 7,4 8 8 12共8種情況。現在設盈餘為s,虧損為d,可列出以下幾種情況。ssssdssssdss 4ssssddsssddss 3s 2d ssdddssdddss 2...