2023年,虛擬偶像大火,hololive公司旗下有n個虛擬主播,這些主播的粉絲全部都是單推,並且這些主播都被從1到n排好序了
我們知道粉絲數是會變化的,有一天mea問你,從x號vtuber 到 y號vtuber到底有多少單推啊? 當然 x 和 y 都是從 1到 n的數
你馬上去每個人的youtube上去查詢到底多少粉絲,然後告訴了mea。
mea一看你是乙個好欺負的舔狗,於是等了一會粉絲發生變化了之後,又讓你去數。於是你又數了一遍。
後來粉絲數又發生了變化,mea又換了各區間讓你數一遍。。。。
於是你終於快要崩潰了,但是你又想稱為乙隻合格的天狗。這時候mea說:讓你不好好學習程式設計。但是現在也來不及了,於是天狗桑找到了聰明的你,你能更easy的解決區間查詢和單點修改的問題嗎?
給出n個虛擬主播的粉絲數。並且每次每個主播粉絲的變化都會給到你,以及mea每次給你的命令。輸出mea想要的結果。
sample input
1sample output101 2 3 4 5 6 7 8 9 10
query 1 3
add 3 6
query 2 7
sub 10 2
add 6 3
query 3 10
end
case 1:633樹狀陣列就是做區間查詢用的,真的很快,理解的話,好好看看59
就足夠了。我都是直接粘的這個部落格的這幾部分,基本都不需要改動。
#include#include#includeusing namespace std;
const int maxn = 50005;
int n,tree[maxn];
void init()
}int lowbit(int t)
int getsum(int x)
void add(int x, int y)
int main()
string s;
printf("case %d:\n",ca);
while(cin>>s)
else if(s[0] == 'q')
else if(s[0] == 'a')
else if(s[0] == 's')}}
return 0;
}
樹狀陣列 HDU1166
繼續上次那題,我們現在採用樹狀陣列來解。樹狀陣列主要用來進行區間求和統計和定點更新操作,樹狀陣列的儲存是如下方式的 假設陣列a為a 1 a 2 a 3 a n 現在我們另陣列c 1 a 1 c 2 a 1 a 2 c 3 a 3 c 4 a 1 a 2 a 3 a 4 這是啥結構呢?其實c i a ...
樹狀陣列 HDU1166
題意為 t組測試陣列,跟著乙個整數n,n n 50000 表示n個營地 n後面跟著n個數ai 1 50 表示每個營地人數。然後輸入三種操作 最多有40000條操作 1.add x y x營地增加y人。2.query x y 查詢x y營地的總人數。3.sub x y x營地減少y人。end 結束。如...
Hdu1166 樹狀陣列
problem description c國的死對頭a國這段時間正在進行軍事演習,所以c國間諜頭子derek和他手下tidy又開始忙乎了。a國在海岸線沿直線布置了n個工兵營地,derek和tidy的任務就是要監視這些工兵營地的活動情況。由於採取了某種先進的監測手段,所以每個工兵營地的人數c國都掌握的...