RYIP在线题库
首 页   >   习题练习   >   提交
Problem1681--ZQC 的课堂

1681: ZQC 的课堂

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MB

【 Description 】

叮铃铃 …… 上课铃响了。

「啊,又是无聊的 math」,坐在教室里的 ZQC 这样想道。Mr.Sam 今天在课上讲了平面直角坐标系上的向量。「这不是幼儿园姿势么」,ZQC 实在忍不住,睡着了。Mr.Sam 把 ZQC 给叫醒,并给了他这样一道题:

假设有一平面直角坐标系,ZQC 有一支画笔,起点是 (1,1) (1, 1)(1,1),现在有 nnn 个向量,第 iii 个向量形如 (xi,yi) (x_i, y_i)(xi,yi),且满足每一个向量都满足 xi,yi x_i, y_ixi,yi 均为偶数。ZQC 按顺序根据这些向量改变自己的画笔的位置,即位置依次改变成 (1+x1,1+y1),(1+x1+x2,1+y1+y2)… (1 + x_1, 1 + y_1), (1 + x_1 + x_2, 1 + y_1 + y_2) \ldots(1+x1,1+y1),(1+x1+x2,1+y1+y2)…。每次改变位置时,画笔都沿两点之间的最短距离移动。结束时,画笔的运动轨迹一定由 nnn 条线段组成。Mr.Sam 要 ZQC 回答这些线段穿过 xxx 轴和 yyy 轴的总次数之和是多少。

但这样的问题对 ZQC 来说太简单了,于是 Mr.Sam 设定了一个指针,一开始指在第一个向量。现在他做了 q(q≤3×105) q(q \leq 3 \times 10 ^ 5)q(q≤3×105) 个操作,操作有四种,分别是:

1. B 表示把指针向后移动,如果越界则视为无效。即,如果设指针移动前的位置是 iii,那么移动后的位置是 max(1,i−1)\max(1,i-1)max(1,i−1)

2. F 表示把指针向前移动,如果越界则视为无效。即,如果设指针移动前的位置是 iii,那么移动后的位置是 min(n,i+1)\min(n,i+1)min(n,i+1)

3. C nx ny 把当前指针所指的向量修改为 (nx,ny)(\text{nx},\text{ny})(nx,ny),这里同样满足 nx,ny\text{nx},\text{ny}nx,ny 为偶数。

4. Q 假设 ZQC 从起点开始,按第 1 11 个到第 n(n≤105) n(n \leq 10 ^ 5)n(n≤105) 个的顺序沿向量走,询问画出的 nnn 条线段穿过 xxx 轴和 yyy 轴次数的总和。

ZQC 想了想,这不是思博题么。

我是要拿图灵奖和菲尔兹奖的男人,这种题浪费我时间,不做!

但是如果不做的话,ZQC 又会遭到 detention,所以他希望聪明的你能在 +1s 内帮他解决这道题。


【 Input 】

第一行一个正整数 n nn
接下来 n nn 行每行两个整数 x,y x, yx,y,保证 x,y x, yx,y 均为偶数。
接下来一行一个整数 q qq
接下来 q qq 行,格式见「题目描述」。

【 Output 】

对于询问中的每个 q qq,输出画出的 n nn 条线段穿过 x xx 轴和 y yy 轴次数的总和。


【 Sample Input 】

6
2 2
2 -6
-2 -4
-6 4
10 -10
-8 12
16
Q
C -4 -4 
F
F
Q
F
C 6 -2 
B
B
B
Q
C 0 6 
Q
F
C -8 4 
Q

【 Sample Output 】

4
4
3
1
5

【HINT】

题目中出现的坐标值的绝对值均不超过 500 500500

因为起点是 (1,1)(1,1)(1,1) 而每个向量的每个分量均为偶数,故每次画笔停留的位置横纵坐标均为奇数,不可能在坐标轴上。


【 Source/Category 】