SPOJ IITWPC4F – Gopu and the Grid Problem(线段树)

Gopu is interested in the integer co-ordinates of the X-Y plane (0<=x,y<=100000). Each integer coordinate contain a lamp, initially all the lamps are in off mode. Flipping a lamp means switching it on if it is in off mode and vice versa. Maggu will ask gopu 3 type of queries.


Type 1:  x l r,  meaning: flip all the lamps whose x-coordinate are between l and r (both inclusive) irrespective of the y coordinate.


Type 2:  y l r, meaning: flip all the lamps whose y-coordinate are between l and r (both inclusive) irrespective of the x coordinate.


Type 3: q x y X Y, meaning: count the number of lamps which are in ‘on mode’(say this number be A) and ‘off mode’ (say this number  be B) in the region where x-coordinate is between x and X(both inclusive) and y-coordinate is between y and Y(both inclusive).


First line contains Q-number of queries that maggu will ask to gopu. (Q <= 10^5)


Then there will be Q lines each containing a query of one of the three type described above.


For each query of 3rd type you need to output a line containing one integer A.




x 0 1

y 1 2

q 0 0 2 2

Output:  4


1.x  l  r  代表把横坐标在[l,r]的区间上的点全翻转:1->0,0->1.

2.y  l  r 代表把纵坐标在[l,r]的区间上的点全翻转。

3.q x1 y1 x2 y2 询问在以(x1,y1)为左下角,(x2,y2)为右上角的矩形内有多少个1.






电子邮件地址不会被公开。 必填项已用*标注