Hdu3584 Cube 三維樹狀陣列

2021-09-25 20:10:49 字數 862 閱讀 6470

題意:

三維的空間中有兩個操作,初始時每個空間元素均為0,然後更新操作是0變1,1變0,是乙個空間內的所有元素都更新,然後查詢是問這個點的元素是0還是1

思路:區間更新,點查詢的三維樹狀陣列。記錄改變的次數,次數為奇數則最終為1,偶則為0。

更新(x1,y1,z1)—(x2,y2,z2)的立方體,如果只更新(x1,y1,z1)則會把更大區間的也更新了,所以利用容斥原理,再去掉多餘的,因為更新是+1,而這裡只需判斷奇偶,所以再加1就去掉更新效果了。

列出需要更新的點。

hdu 3584 cube 三維樹狀陣列

儘管還是沒怎麼想通這題為什麼可以這樣解,權當是拿來練練三維樹狀陣列了。include include define lowbit i i i define n 128 int a n n n void update int i,int j,int k int sum int i,int j,int ...

HDU 3584 Cube 三維樹狀陣列

題意 三維的空間中有兩個操作,初始時每個空間元素均為0,更新操作是0變1,1變0,是乙個空間內的所有元素都更新,查詢是問這個點的元素是0還是1。題解 三維樹狀陣列的iupq模型 interval update point query段更新,點求值 關鍵在更新的時候的邊界處理,好像是容斥原理,並不懂,...

HDU 3584 Cube(三維BIT 容斥)

description 給出乙個全是0組成的三維陣列,有兩種操作 0 x1 y1 z1 x2 y2 z2 把從點 x1,y1,z1 到點 x2,y2,z2 之間這個小正方體中所有元素反轉,即由0變1,由1變0 1 x y z 查詢點 x,y,z 上的值 input 多組輸入,每組用例第一行為兩個整數...