vijos1448 樹狀陣列 校門外的樹

2021-08-28 04:02:57 字數 485 閱讀 3109

傳送門biu~

對於某一區間[l,r]來說,所有線段中左端點小於r的線段數的是[1,r]的答案,在這部分答案中,右端點在l左側的應該捨去,所以我們可以維護兩個樹狀陣列,乙個存左端點出現次數,乙個存右端點出現次數。

#include

using

namespace

std;

int n,m,a[50001],b[50001],k,l,r;

inline

int ask1(int x)

inline

int ask2(int x)

inline

void add1(int x,int y)

inline

void add2(int x,int y)

int main()

else

printf("%d\n",ask1(r)-ask2(l-1));

}}

Vijos 1448 校門外的樹 樹狀陣列

描述 校門外有很多樹,有蘋果樹,香蕉樹,有會扔石頭的,有可以吃掉補充體力的 如今學校決定在某個時刻在某一段種上一種樹,保證任一時刻不會出現兩段相同種類的樹,現有兩個操作 k 1,k 1,讀入l r表示在區間 l,r 中種上一種樹,每次操作種的樹的種類都不同 k 2,讀入l,r表示詢問l r之間能見到...

Vijos1448 校門外的樹 樹狀陣列

題目傳送門 校門外有很多樹,有蘋果樹,香蕉樹,有會扔石頭的,有可以吃掉補充體力的 如今學校決定在某個時刻在某一段種上一種樹,保證任一時刻不會出現兩段相同種類的樹,現有兩個操作 k 1,k 1,讀入l r表示在區間 l,r 中種上一種樹,每次操作種的樹的種類都不同 k 2,讀入l,r表示詢問l r之間...

Vijos1448校門外的樹 題解

vijos1448校門外的樹 題解 描述 校門外有很多樹,有蘋果樹,香蕉樹,有會扔石頭的,有可以吃掉補充體力的 k 1,k 1,讀入l r表示在區間 l,r 中種上一種樹,每次操作種的樹的種類都不同 k 2,讀入l,r表示詢問l r之間能見到多少種樹 l,r 0 輸入格式 第一行n,m表示道路總長為...