COGS1532 IOI2001 流動電話

2021-07-06 05:25:17 字數 1329 閱讀 4055

【題目描述】

假設tampere地區的4g移動通訊基站以如下方式執行。整個地區被劃分成若干正方形格仔。這些格仔構成乙個s*s的矩陣,它們的行,列編號都是從0到s-1.每乙個格仔中都有乙個基站。每個格仔中啟用的手機數量可能改變,因為一部手機可能從乙個格仔移動到另乙個格仔,開啟或者關閉。有時,某一座基站會向總站報告自己的行列座標,以及該格中啟用手機數目的變化。

【輸入格式】

輸入指令編碼如下。 每個指令佔一行,包含乙個指令碼和一些引數,見下表。

指令碼 引數 意義

0 s 初始化乙個s*s的全零矩陣。這個指令只會出現一次,即第一條指令。

1 x y a 將格仔(x,y)中啟用的手機數量增加a。a有可能是正數或負數。

2 l b r t 詢問當前所有座標(x,y)滿足:l<=x<=r,b<=y<=t的格仔中啟用的手機數量之和。

3 結束程式。這個指令只會出現一次,即最後一條指令。

【輸出格式】

你的程式不應該對指令2外的所有指令進行回答。對於每個指令2,你的程式需要輸出一行乙個正整數,即該指令的答案。

【樣例輸入】

0 4

1 1 2 3

2 0 0 2 2

1 1 1 2

1 1 2 -1

2 1 1 2 3

3 【樣例輸出】

3 4

【提示】

矩陣大小:1<=s<=1024

任意時刻,每個格仔中的啟用手機數量v:0<=v<=32767

格仔中啟用手機數量的變化值:-32768<=a<=32767

輸入的指令數目:3<=u<=60002

整個矩陣中的最大手機數量:m=2^30

【**】

ioi 2001

樹狀陣列套樹狀陣列的經典裸(shui)題。。。

注意事項:因為原題下標範圍是0到s-1,為了處理方便(為了可以複製模板),所以把下標都加1再處理(除了n)。

#include

#define lowbit(n) (n&-n)

int c[1100][1100],n,num;

void read(int &x)

while((t>=48)and(t<=57))

x*=f;

}void add(int

x,int

y,int value)

int query(int

x,int

y)int main()

read(num);

}return

0;}

網路流小結 hdu 1532

網路流問題在已經知道每條邊的容量以及流量的情況下,求出從起點到終點可以運送的最大流量。這裡面需要注意的有 容量限制,斜對稱性和流量平衡的3個條件。容量限制即保證每個邊流過的流量小於每個邊的容量 即f u,v c u,v 斜對稱性即為 f u,v f v,u 流量平衡即為 除了起點和終點外每個點都需要...

1532 高精度練習之乘法

鏈結在這兒 a和b的位數不超過500位!天哪,這該怎麼辦,即使用un sign edlo nglo ng最多也只有20位。寫題要看標題啊,兄dei!高精度乘法 高精度乘法又可稱為大數乘法,此時我們就不能抱著慣性思維去用整型儲存這兩個數。我們只能抱string的大腿了 抱緊 我們先宣告兩個字串變數st...

hdu 1532最大流 增廣路

include include include includeusing namespace std define max 210 int flow max max int pre max mark max int n,m,f int q,z void maxliu if mark n 如果mark...