description
校門外有很多樹,有蘋果樹,香蕉樹,有會扔石頭的,有可以吃掉補充體力的……
如今學校決定在某個時刻在某一段種上一種樹,保證任一時刻不會出現兩段相同種類的樹,現有兩個操作:
k=1,讀入l,r表示在l~r之間種上的一種樹
k=2,讀入l,r表示詢問l~r之間能見到多少種樹
(l,r>0)
input
第一行n,m表示道路總長為n,共有m個操作
接下來m行為m個操作
output
對於每個k=2輸出乙個答案
sample input
5 41 1 3
2 2 5
1 2 4
2 3 5
sample output1
2hint
範圍:20%的資料保證,n,m<=100
60%的資料保證,n <=1000,m<=50000
100%的資料保證,n,m<=50000
這題就是樹狀陣列的模板
因為樹狀陣列本質就是字首和,我們可以用差分優化
#include
#include
using
namespace std;
int n,m,k,x,y,x1[
50005
],y1[
50005];
intlowbit
(int x)
void
ggx(
int x,
int y)
//更改
void
ggy(
int x,
int y)
//更改
intsumx
(int x)
//求和
intsumy
(int x)
//求和
intmain()
else
printf
("%d\n"
,sumx
(y)-
sumy
(x))
;//差分
}}
樹狀陣列 校門外的樹
樹狀陣列 校門外的樹 時間限制 1 sec 記憶體限制 128 mb 題目描述 校門外有很多樹,有蘋果樹,香蕉樹,有會扔石頭的,有可以吃掉補充體力的 如今學校決定在某個時刻在某一段種上一種樹,保證任一時刻不會出現兩段相同種類的樹,現有兩個操作 k 1,k 1,讀入l r表示在區間 l,r 中種上一種...
校門外的樹 樹狀陣列
time limit 10000ms memory limit 65536k total submit 55 accepted 20 case time limit 1000ms description 校門外有很多樹,有蘋果樹,香蕉樹,有會扔石頭的,有可以吃掉補充體力的 如今學校決定在某個時刻在某...
校門外的樹 (樹狀陣列)題解
校門外的樹 校門外有很多樹,有蘋果樹,香蕉樹,有會扔石頭的,有可以吃掉補充體力的 如今學校決定在某個時刻在某一段種上一種樹,保證任一時刻不會出現兩段相同種類的樹,現有兩個操作 k kk 1,讀入l ll,r rr表示在l ll r rr之間種上的一種樹 k kk 2,讀入l ll,r rr表示詢問l...