Play with array

TimeLimit:1000MS  MemoryLimit:256000KB
64-bit integer IO format:%lld
未提交 | 登录后收藏
Problem Description

有一个长度为n的数列a1,a2,...,an

支持两种操作:

1 l r:将ar移动到al前面。也就是:

        ...,al-1,al,al+1,...ar,ar+1,...->...,al-1,ar,al,al+1,...,a1r-1,ar+1,...

        这次操作后数列将重新从1到n进行编号。

2 l r k:求al,al+1,...,ar中有多少个k。

Input

第一行一个整数n,表示数列长度。

下一行n个整数,表示数列。

下一行一个整数m,表示操作次数。

接下来m行,每行一个操作,格式见题目描述。


数据范围及提示:

对于所有数据,满足1n,m≤100000,1≤ai≤n,1≤l,r,k≤n

以下部分互相独立。

20%的数据,1≤n,m≤1000

20%的数据,1≤n≤3000

20%的数据,1≤n,m≤50000

20%的数据,所有1操作都在2操作之前

Output

对于每一个2操作,输出一行一个数,表示答案。

SampleInput

7

6 6 2 7 4 2 5

7

1 3 6

2 2 4 2

2 4 6 2

2 3 3 6

1 2 6

1 1 4

2 1 7 3


SampleOutput

2

1

0

0


Submit
题目统计信息详细
总AC数0
通过人数0
尝试人数1
总提交量1
AC率0.00%
AC该题后可以添加标签
贴完标签可以获得20ACB。
并且可以获得本题所有提交代码查看权限。
点击标题可以显示标签。
如果你还没认真思考过这题,请不要查看标签
如果您已经通过了该题,请务为该题贴上标签

T^T Online Judge

[BUG反馈] [FAQ] [闽ICP备17026590号-1]
当前版本:3.24 系统时间: