校門外的樹(樹狀陣列)

2021-10-09 07:05:34 字數 1174 閱讀 3163

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...