2358: Imagine
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
In some imaginary city made up especially for this problem, there are two fictional political parties
that were named A and B (because these names are conveniently short and also nobody really
cared).
In the centre of this non-existent city you are supposed to imagine a large billboard of 10.24
metres in width and 10.24 metres in height, essentially a 1024 × 1024 grid of square centimetres.
Every now and then a political activist comes around and puts a 1cm × 1cm sticker with either
an A or a B, depending on his or her assumed political orientation, on the grid. Any sticker that
was put on that particular position before, no matter from which of the parties, becomes invisible.
This might all sound a wee bit unrealistic, but you need to keep in mind that it is in fact not real.
It is just for the problem.
Now, for some obscure reason, that could have been totally justified had someone put a bit more
effort into writing this assignment, a list is maintained with the exact location and denomination
of every single sticker that was put up, in chronological order.
At any moment one might wonder how many A’s and B’s there currently are within some
subrectangle of the grid. Such question may come up, for example, when someone looks at
the billboard from a large distance, with a rectangular telescope. You will find such queries in
the input, mixed with the information about when what kind of sticker was put where, all in
chronological order. Can you write a program that can handle such queries quickly?
You may assume that the grid has been initialized like a checker board with an A in the top
left corner at x = y = 1, hence in the following way:
A B A B A B A B A
B A B A B A B A B
A B A B A B A B A
B A B A B A B A B
输入
The input consists of a single test case, which has the following format:
• One line with an integer N , satisfying 1 ≤ N ≤ 1, 000, 000: the total number of stickers and
queries in the input.
• N lines, each of which is formatted as one of two alternatives:
– A line starting with the character ’A’or ’B’followed by two integers x and y, satisfying
1 ≤ x,y ≤ 1024, denoting a sticker which is put on the grid.
– A line with the character ’R’ followed by four integers x1 , y1 , x2 and y 2 , satisfying
1 ≤ x1 ≤ x2 ≤ 1024 and 1 ≤ y1 ≤ y2 ≤ 1024, denoting the top left and bottom right
coordinates of a queried subrectangle.
Alphabetic characters and integers on the same line are separated by single spaces. You can make
no assumptions about the way the stickers and queries are interleaved in the input.
输出
For every query in the input, the output should contain two numbers, on a single line: the numbers
of A’s and B’s in the queried subrectangle at the moment of the query, separated by a single space.
样例输入 复制
7
R 1 1 3 3
A 2 3
A 1 3
R 1 1 3 3
B 2 2
B 3 3
R 2 2 3 3
样例输出 复制
5 4
6 3
1 3