测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A9132. Shave Beaver!

编程题 普及/提高-

题目描述

The first line contains integer $n$ — the total number of beavers, $2<=n$ . The second line contains $n$ space-separated integers — the initial beaver permutation.

The third line contains integer $q$ — the number of queries, $1<=q<=10^{5}$ . The next $q$ lines contain the queries. Each query $i$ looks as $p_{i}$ $x_{i}$ $y_{i}$ , where $p_{i}$ is the query type ( $1$ is to shave beavers from $x_{i}$ to $y_{i}$ , inclusive, $2$ is to swap beavers on positions $x_{i}$ and $y_{i}$ ). All queries meet the condition: $1<=x_{i}<y_{i}<=n$ .

- to get 30 points, you need to solve the problem with constraints: $n<=100$ (subproblem B1);
- to get 100 points, you need to solve the problem with constraints: $n<=3·10^{5}$ (subproblems B1+B2).

Note that the number of queries $q$ is limited $1<=q<=10^{5}$ in both subproblem B1 and subproblem B2.

输入格式

For each query with $p_{i}=1$ , print the minimum number of Beavershave 5000 sessions.

输出格式

无

输入输出样例

输入 #1
5
1 3 4 2 5
6
1 1 5
1 3 4
2 2 3
1 1 5
2 1 5
1 1 5
输出 #1
2
1
3
5
上一题 去做题 下一题