CF1142B.Lynyrd Skynyrd
普及+/提高
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Recently Lynyrd and Skynyrd went to a shop where Lynyrd bought a permutation p of length n, and Skynyrd bought an array a of length m, consisting of integers from 1 to n.
Lynyrd and Skynyrd became bored, so they asked you q queries, each of which has the following form: "does the subsegment of a from the l-th to the r-th positions, inclusive, have a subsequence that is a cyclic shift of p?" Please answer the queries.
A permutation of length n is a sequence of n integers such that each integer from 1 to n appears exactly once in it.
A cyclic shift of a permutation (p1,p2,…,pn) is a permutation (pi,pi+1,…,pn,p1,p2,…,pi−1) for some i from 1 to n. For example, a permutation (2,1,3) has three distinct cyclic shifts: (2,1,3), (1,3,2), (3,2,1).
A subsequence of a subsegment of array a from the l-th to the r-th positions, inclusive, is a sequence ai1,ai2,…,aik for some i1,i2,…,ik such that l≤i1<i2<…<ik≤r.
最近,Lynyrd 和 Skynyrd 去了一家商店,Lynyrd 购买了一个长度为 n 的排列 p,而 Skynyrd 购买了一个长度为 m 的数组 a,其中每个元素均为 1 到 n 之间的整数。
Lynyrd 和 Skynyrd 感到无聊,于是向你提出了 q 个询问,每个询问的形式为:“数组 a 中从第 l 个位置到第 r 个位置(含端点)的子段中,是否存在一个子序列是 p 的某个循环移位?” 请回答这些询问。
长度为 n 的排列是指一个由 n 个整数组成的序列,其中 1 到 n 中的每个整数恰好出现一次。
排列 (p1,p2,…,pn) 的一个循环移位是指形如 (pi,pi+1,…,pn,p1,p2,…,pi−1) 的排列,其中 i 为 1 到 n 之间的某个整数。例如,排列 (2,1,3) 有三个不同的循环移位:(2,1,3)、(1,3,2) 和 (3,2,1)。
数组 a 中从第 l 个位置到第 r 个位置(含端点)的子段的一个子序列,是指形如 ai1,ai2,…,aik 的序列,其中下标满足 l≤i1<i2<…<ik≤r。
输入格式
The first line contains three integers n, m, q (1≤n,m,q≤2⋅105) — the length of the permutation p, the length of the array a and the number of queries.
The next line contains n integers from 1 to n, where the i-th of them is the i-th element of the permutation. Each integer from 1 to n appears exactly once.
The next line contains m integers from 1 to n, the i-th of them is the i-th element of the array a.
The next q lines describe queries. The i-th of these lines contains two integers li and ri (1≤li≤ri≤m), meaning that the i-th query is about the subsegment of the array from the li-th to the ri-th positions, inclusive.
第一行包含三个整数 n、m、q(1≤n,m,q≤2⋅105)——分别表示排列 p 的长度、数组 a 的长度以及查询次数。
下一行包含 n 个从 1 到 n 的整数,其中第 i 个数为排列 p 的第 i 个元素。1 到 n 中的每个整数恰好出现一次。
再下一行包含 m 个从 1 到 n 的整数,其中第 i 个数为数组 a 的第 i 个元素。
接下来 q 行描述查询。其中第 i 行包含两个整数 li 和 ri(1≤li≤ri≤m),表示第 i 个查询针对数组 a 中从第 li 个位置到第 ri 个位置(含端点)的子段。
输出格式
Print a single string of length q, consisting of 0 and 1, the digit on the i-th positions should be 1, if the subsegment of array a from the li-th to the ri-th positions, inclusive, contains a subsequence that is a cyclic shift of p, and 0 otherwise.
输出一个长度为 q 的字符串,仅由字符 0 和 1 组成;其中第 i 位上的数字应为 1,当且仅当数组 a 中从第 li 位到第 ri 位(含端点)的子段包含一个子序列,该子序列是 p 的某个循环移位;否则为 0。
输入输出样例
输入#1
3 6 3 2 1 3 1 2 3 1 2 3 1 5 2 6 3 5
输出#1
110
输入#2
2 4 3 2 1 1 1 2 2 1 2 2 3 3 4
输出#2
010
说明/提示
In the first example the segment from the 1-st to the 5-th positions is 1,2,3,1,2. There is a subsequence 1,3,2 that is a cyclic shift of the permutation. The subsegment from the 2-nd to the 6-th positions also contains a subsequence 2,1,3 that is equal to the permutation. The subsegment from the 3-rd to the 5-th positions is 3,1,2, there is only one subsequence of length 3 (3,1,2), but it is not a cyclic shift of the permutation.
In the second example the possible cyclic shifts are 1,2 and 2,1. The subsegment from the 1-st to the 2-nd positions is 1,1, its subsequences are not cyclic shifts of the permutation. The subsegment from the 2-nd to the 3-rd positions is 1,2, it coincides with the permutation. The subsegment from the 3 to the 4 positions is 2,2, its subsequences are not cyclic shifts of the permutation.
在第一个例子中,第 1 个到第 5 个位置的子段为 1,2,3,1,2。其中存在一个子序列 1,3,2,它是该排列的一个循环移位。第 2 个到第 6 个位置的子段也包含一个子序列 2,1,3,它恰好等于该排列。第 3 个到第 5 个位置的子段为 3,1,2,其中长度为 3 的子序列仅有一个(即 3,1,2),但它不是该排列的循环移位。
在第二个例子中,可能的循环移位有 1,2 和 2,1。第 1 个到第 2 个位置的子段为 1,1,其所有子序列均不是该排列的循环移位。第 2 个到第 3 个位置的子段为 1,2,它与该排列完全相同。第 3 个到第 4 个位置的子段为 2,2,其所有子序列均不是该排列的循环移位。
输入解题思路,AI测评打分。不知道怎么写?