題意:給你n個矩形,每個矩形給出左下角座標,右上角座標,有m個詢問,每個詢問給出乙個時間t,問(0,0),(t,t)的範圍內矩形的面積和(重疊的也算)。
參考部落格:
#include #include #include using namespace std;
const int n=200005;
typedef long long ll;
struct bit
void clear()
void add(int st,int ed,ll valu)
}a,b,c;
void fun(int st,int ed,ll a,ll b,ll c)
int main()
{ int t;
scanf("%d",&t);
while(t--)
{a.clear(); b.clear(); c.clear();
int n,m;
scanf("%d",&n);
for(int i=0;i
樹狀陣列 區間更新
樹狀陣列天生用來動態維護陣列字首和,其特點是每次更新乙個元素的值,查詢只能查陣列的字首和,但這個題目求的是某一區間的陣列和,而且要支援批量更新某一區間內元素的值,怎麼辦呢?實際上,還是可以把問題轉化為求陣列的字首和。首先,看更新操作update s,t,d 把區間a s a t 都增加d,我們引入乙...
hdu4533 威威貓系列故事 曬被子
problem description 因為馬拉松初賽中吃雞腿的題目讓不少人抱憾而歸,威威貓一直覺得愧對大家,這幾天他悄悄搬到直角座標系裡去住了。生活還要繼續,太陽也照常公升起,今天,威威貓在第一象限曬了n條矩形的被子,被子的每條邊都和座標軸平行,不同被子的某些部分可能會疊在一起。這時候,在原點處突...
樹狀陣列區間更新 單點查詢
設a陣列表示原來的區間 c i a i a i 1 這樣可以看出 a i sum c 1 c 2 c i 例如 a 1 3 4 2 6 8 c 1 2 1 2 4 2 樹狀陣列維護的是c陣列 當把a 3,5 每個數都加2時,我們看c陣列,由於c陣列維護的是相鄰區間的差值,所以c 3 2 因為區間 3...