/*
題目:給出n個商店,每個商店有初始化的商品數量,現在有兩種指令:
0 x y 連鎖店x的商品數量變化值為y,y > 0商品數量增加, y < 0減少
1 i j 輸出編號在[i,j]區間內的連鎖店中商品數量為素數的有多少家
當指令為1時,求給出 i到j的商品數量為素數的商店的數目
分析:用樹狀陣列做,只不過在update()處改動一下,並且注意到有可能改動完後和改動前
均為素數的情況,所以用visit陣列記錄此前是否為素數,另外需要注意的是當初始
化時即為奇數的話,當時就要初始化陣列c以及visit陣列
*/#include
#include
#include
using namespace std;
const int x = 1000010;
int a[x],c[x],n,m,k;
bool visit[x];
bool check(int x) //判斷是否是素數
int lowbit(int x)
int sum(int x) //求和
return ans;
}void update(int x)}}
else //如果這個商店的商品數為偶數}}
}int main()
}else
for(int i=1;i<=m;i++)
}cout<}
return 0;
}
Hoj 1867 經理的煩惱(樹狀陣列)
jerry是一家公司銷售部門的經理。這家公司有很多連鎖店,編號為1,2,3,jerry每天必須關注每家連鎖店的商品數量及其變化,一項很乏味的工作。在連鎖店比較少的時候,jerry喜歡計算編號在 i,j 區間內的連鎖店中商品數量為素數的有多少家,但是現在連鎖店的數量急劇增長,計算量很大,jerry很難...
HOJ 1867 經理的煩惱(樹狀陣列)
問題描述 jerry是一家公司銷售部門的經理。這家公司有很多連鎖店,編號為1,2,3,jerry每天必須關注每家連鎖店的商品數量及其變化,一項很乏味的工作。在連鎖店比較少的時候,jerry喜歡計算編號在 i,j 區間內的連鎖店中商品數量為素數的有多少家,但是現在連鎖店的數量急劇增長,計算量很大,je...
Hoj 1867 經理的煩惱(樹狀陣列)
jerry是一家公司銷售部門的經理。這家公司有很多連鎖店,編號為1,2,3,jerry每天必須關注每家連鎖店的商品數量及其變化,一項很乏味的工作。在連鎖店比較少的時候,jerry喜歡計算編號在 i,j 區間內的連鎖店中商品數量為素數的有多少家,但是現在連鎖店的數量急劇增長,計算量很大,jerry很難...