luogu 2184 貪婪大陸

2021-10-05 15:58:42 字數 644 閱讀 6072

題解:

線段樹或者樹狀陣列都可以。

對於詢問l-r之間有多少地雷,可以理解為首部在r之前的線段段數減去尾部在(r-1)之前的線段段數,所以對於埋地雷的操作l-r,可以理解為在兩個線段樹上的某個位置加一,詢問相當於是求每個線段樹的前若干個位置的總和是多少,然後兩個線段樹求出來的答案再進行相減操作就是答案,對於這種單點修改、區間詢問的型別,用樹狀陣列會非常方便。

注:當然樹狀陣列也可以處理區間修改,單點詢問的題目,轉化成差分即可。

#include

int n,op,x,y,m;

int a[

110000

],b[

110000];

intlowbit

(int p)

void

add1

(int p)

}void

add2

(int p)

}int

query1

(int p)

return sum;

}int

query2

(int p)

return sum;

}int

main()

return0;

}

luogu2184 貪婪大陸(樹狀陣列)

我是超連結 這道題看著好眼熟啊 看上去很複雜,實際上就是樹狀陣列的基本操作 單點修改區間查詢 單點新增值,查詢時兩個區間相減就ok,但這個題是1為左區間,所以不用減 原因?答案實際上就是 1,r 的左端點數 1,l 1 的右端點數 include using namespace std int n,...

luogu 2184 貪婪大陸 樹狀陣列

面對螞蟻們的瘋狂進攻,小ff的tower defence宣告失敗 人類被螞蟻們逼到了greed island上的乙個海灣。現在,小ff的後方是一望無際的大海,前方是變異了的超級螞蟻。小ff還有大好前程,他可不想命喪於此,於是他派遣手下最後一批改造scv布置地雷以阻擋螞蟻們的進攻。小ff最後一道防線是...

學術篇 luogu2184貪婪大陸

題目在這裡哦,戳一下就可以了 題目大意 支援兩種操作,區間新增一種新元素,查詢區間顏色種數.題目標籤是線段樹啊,我也本來想寫乙個線段樹,後來寫不出來 我太弱了orz 然後就草率地看了看題解裡面的思路咯,感覺思路非常的不錯,於是我就a掉這題之後寫了這篇blog 我們通過這幅圖可以看到 我們直接統計區間...