CF1866F Freak Joker Process
题目描述
有 $N$ 篮球运动员,每一名篮球运动员有两个属性:$A_i$ 与 $B_i$ , 其中, $A_i$ 表示第 $i$ 名运动员的进攻值,而$B_i$ 表示第 $i$ 名运动员的防守值。
定义函数 $RankA(i)$, 表示第 $i$ 名运动员进攻值的排名,记为 $c+1$, 其中,$c$ 代表 $j$ 的个数($1$ ≤ $j$ ≤ $N$)使得 $A_i$ < $A_j$; 定义函数 $RankB(i)$, 表示第 $i$ 名运动员防守值的排名,记为 $c+1$, 其中,$c$ 代表 $j$ 的个数($1$ ≤ $j$ ≤ $N$)使得 $B_i$ < $B_j$。
定义函数 $RankOverall(i)$, 表示第 $i$ 名运动员进攻值和防守值的和的排名,记为 $c+1$, 其中,$c$ 代表 $j$ 的个数($1$ ≤ $j$ ≤ $N$)使得 $RankA(j)$ + $RankB(j)$ < $RankA(i)$ + $RankB(i)$。第一行包含一个正整数 $ N $ ( $ 1\leq N\leq10^5 $ ) 表示有 $N$ 个运动员。
经过接下来 $Q$ 天里面,每一天都会有一次变更。每一次变更都是下面三种情况之一:
- 1 k c - 如果 $c$ 是 $+$ ,那么 $A_k$ 增加 $1$, 如果 $c$ 是 $-$ ,那么 $A_k$ 减少 $1$。($1$ ≤ $k$ ≤ $N$, $c$ 只可能是 $+$ 或 $-$)。
- 2 k c - 如果 $c$ 是 $+$ ,那么 $B_k$ 增加 $1$, 如果 $c$ 是 $-$ ,那么 $B_k$ 减少 $1$。($1$ ≤ $k$ ≤ $N$, $c$ 只可能是 $+$ 或 $-$)。
- 3 k - 获取 $RankOverall(k)$ 的值($1$ ≤ $k$ ≤ $N$)。
输入格式
第一行包含一个正整数 $ N $ ( $ 1\leq N\leq10^5 $ ) 表示有 $N$ 个运动员。
第二行包含 $ N $ 个整数 $ A_1, A_2, A_3 \ldots, A_N $ ( $ 1 \leq A_i \leq 10^5 $ ) — 每一位运动员的进攻值。
第三行包含 $ N $ 个整数 $ B_1, B_2, B_3 \ldots, B_N $ ( $ 1 \leq B_i \leq 10^5 $ ) — 每一位运动员的防守值。
第四行包含一个正整数 $ Q $ ( $ 1\leq Q\leq10^5 $ ) 表示有 $Q$ 天。
接下来 $Q$ 行每一行描述这一天发生的时间。任何时间,$ A_i $ 与 $ B_i $ 的值总是在 $ 1 $ 到 $ 10^5 $ 之间。
输出格式
对于每一个事件 $3$ ,输出一行表示 $ \text{RankOverall}(k) $ 在那一时刻的值。
说明/提示
在第 $8$ 次事件中,$ A=[3,2,1,3,2] $ 并且 $ B=[3,6,1,4,1] $。可以得到每个运动员的$ \text{RankA} $ 和 $ \text{RankB} $ 值如下:
- $ \text{RankA}(1)=1 $ , $ \text{RankB}(1)=3 $
- $ \text{RankA}(2)=3 $ , $ \text{RankB}(2)=1 $
- $ \text{RankA}(3)=5 $ , $ \text{RankB}(3)=4 $
- $ \text{RankA}(4)=1 $ , $ \text{RankB}(4)=2 $
- $ \text{RankA}(5)=3 $ , $ \text{RankB}(5)=4 $
由此可以得到 $ \text{RankOverall}(1)=2 $ 。