數算實習 Mobile phones 樹狀陣列

2021-08-28 19:47:22 字數 915 閱讀 4645

mobile phones

描述假設某地區的***移動**基站可以接收手機訊號。該區域為正方形,形成乙個s * s大小的矩陣,行和列的編號從0到s-1。每個方塊包含乙個基站。手機內的有源手機數量可能會發生變化,因為手機從可以在方塊間任意移動或開機關機。

編寫乙個程式,接收這些報告並回答任何矩形區域中當前活動手機的總數。

輸入:輸入包含兩部分:instruction以及其代表的含義

當instruction=0時,初始化區域矩陣使之全為0,並輸入n,表示矩陣大小

當instruction=1時,輸入x,y,a,表示(x,y)處加入a個手機

當instruction=2時,輸入x1,y1,x2,y2,並輸出(x1,y1)至(x2,y2)之間整個區域的手機數

樣例輸入

0 41 1 2 3

2 0 0 2 2

1 1 1 2

1 1 2 -1

2 1 1 2 3

3樣例輸出34

#include using namespace std;

int c[1025][1025];

int n;

int lowbit(int x)

void update(int x, int y, int delta) //更新樹狀陣列

i = i + lowbit(i); }}

int calculate(int x, int y) //求和

i = i - lowbit(i);

} return sum;

}int main()

if (ins == 1)

else if (ins == 2)

}return 0;

}

數算實習 apple tree 樹狀陣列

輸入 第一行包含乙個整數n n 100,000 這是樹中的樹杈的數量。以下n 1行每個包含兩個整數u和v,這意味著樹杈u和樹杈v通過分支連線。下一行包含的整數m m 100,000 以下m行每行包含乙個資訊,它要麼是 c x 表示在樹杈x上是否存在蘋果的狀態發生改變。即如果樹杈上有蘋果,那麼卡卡就會...

數算實習 LOST COW 線段樹

lost cow 問題描述 一共n頭奶牛編號從1到n,現在它們的排列順序發生了錯亂,對於每頭奶牛,你只知道排在它前面並且編號小於它的奶牛數量。輸入第1行 單個整數,n 表示奶牛的總數 之後n 1行 第k行描述了排在第k 1頭奶牛之前並且編號小於該奶牛編號的奶牛數量。當然,沒有奶牛排在第一頭牛的前面,...

數算實習 k th number 線段樹

k th number 給定數列a1,a2 an,各不相同。要進行m次查詢,每次查詢 a l r 中第k小的數是什麼 1 n 100 000,1 m 5 000 abs ai 10 9 樣例輸入 7 3 7個數,3次查詢 1 5 2 6 3 7 4 2 5 3 4 4 1 1 7 3 樣例輸出56 ...