编程题:构造有向图+问题转化
米尔科是个天才。但他的发明目的并不总是显而易见的。他的最新发明Shuffle-o-matic 3175就是其中之一。Shuffle-o-matic的使用方式非常特殊。首先,米尔科将N张打印有数字1到N的纸卡放在Shuffle-o-matic工作面上。然后,他在特殊的输入控制台中输入洗牌序列,并点击go按钮。然后机器读取纸卡,并在输出磁带上输出读取的数字序列。然后根据洗牌顺序洗牌。之后,它读取新获得的序列,并将其写入输出磁带上的新行。然后,它按照相同的洗牌顺序再次洗牌,扫描输出并将其写入磁带。机器会一直这样做,直到磁带用完为止。
在试验了这台机器之后,米尔科决定在地板上休息一会儿。在那里,他注意到一段输出磁带。工件在第A输出行之前和第B输出行之后被整齐地切割。它还缺少所有行中的第一个C数和最后一个D数。
他现在想知道,那张纸上有多少行具有这样的特性,那一行中仍然在纸上的所有数字,都与所有洗牌开始之前处于完全相同的位置。
### 输入格式:
输入的第一行包含依次包含整数N、A、B、C和D(1≤N≤500000,A≤B≤1012,0≤C,D≤ N,C+D<N)。
第二行包含洗牌序列。序列以数字1到N的排列形式给出。如果洗牌序列中的第k个数字是x,则每次洗牌后,结果序列中的第k个元素是前一个序列中的第x个元素。
### 输出格式:
在输入的第一行(也是唯一一行)中,输出Mirko想要知道的行数
### 得分:
40%的测试用例中,A、B、C、D、N≤ 2000
### 输入样例1:
in
4 1 5 0 1
1 3 4 2
### 输出样例1:
out
2
### 输入样例2:
in
7 3 8 1 2
2 3 1 6 4 7 5
### 输出样例2:
out
0
### 输入样例3:
in
6 2 11 3 0
6 3 5 4 2 1
### 输出样例3:
out
1
### 样例描述:
样例1:
Schuffle-o-matic输出:
**1 2 3** 4
**1 3 4** 2
**1 4 2** 3
**1 2 3** 4
**1 3 4** 2
1 4 2 3
1 2 3 4
米尔科发现:
**1 2 3**
1 3 4
1 4 2
**1 2 3**
1 3 4
米尔科对第一排和第四排很感兴趣。
样例2:
Schuffle-o-matic输出:
1 2 3 4 5 6 7
2 3 1 6 4 7 5
3 **1 2 7 6** 5 4
1 **2 3 5 7** 4 6
2 **3 1 4 5** 6 7
3 **1 2 6 4** 7 5
1 **2 3 7 6** 5 4
2 **3 1 5 7** 4 6
3 1 2 4 5 6 7
1 2 3 6 4 7 5
样例3:
Schuffle-o-matic输出:
1 2 3 **4 5 6**
6 3 5 **4 2 1**
1 5 2 **4 3 6**
6 2 3 **4 5 1**
1 3 5 **4 2 6**
6 5 2 **4 3 1**
1 2 3 **4 5 6**
6 3 5 **4 2 1**
1 5 2 **4 3 6**
6 2 3 **4 5 1**
1 3 5 **4 2 6**
答案:若无答案欢迎评论
在试验了这台机器之后,米尔科决定在地板上休息一会儿。在那里,他注意到一段输出磁带。工件在第A输出行之前和第B输出行之后被整齐地切割。它还缺少所有行中的第一个C数和最后一个D数。
他现在想知道,那张纸上有多少行具有这样的特性,那一行中仍然在纸上的所有数字,都与所有洗牌开始之前处于完全相同的位置。
### 输入格式:
输入的第一行包含依次包含整数N、A、B、C和D(1≤N≤500000,A≤B≤1012,0≤C,D≤ N,C+D<N)。
第二行包含洗牌序列。序列以数字1到N的排列形式给出。如果洗牌序列中的第k个数字是x,则每次洗牌后,结果序列中的第k个元素是前一个序列中的第x个元素。
### 输出格式:
在输入的第一行(也是唯一一行)中,输出Mirko想要知道的行数
### 得分:
40%的测试用例中,A、B、C、D、N≤ 2000
### 输入样例1:
in
4 1 5 0 1
1 3 4 2
### 输出样例1:
out
2
### 输入样例2:
in
7 3 8 1 2
2 3 1 6 4 7 5
### 输出样例2:
out
0
### 输入样例3:
in
6 2 11 3 0
6 3 5 4 2 1
### 输出样例3:
out
1
### 样例描述:
样例1:
Schuffle-o-matic输出:
**1 2 3** 4
**1 3 4** 2
**1 4 2** 3
**1 2 3** 4
**1 3 4** 2
1 4 2 3
1 2 3 4
米尔科发现:
**1 2 3**
1 3 4
1 4 2
**1 2 3**
1 3 4
米尔科对第一排和第四排很感兴趣。
样例2:
Schuffle-o-matic输出:
1 2 3 4 5 6 7
2 3 1 6 4 7 5
3 **1 2 7 6** 5 4
1 **2 3 5 7** 4 6
2 **3 1 4 5** 6 7
3 **1 2 6 4** 7 5
1 **2 3 7 6** 5 4
2 **3 1 5 7** 4 6
3 1 2 4 5 6 7
1 2 3 6 4 7 5
样例3:
Schuffle-o-matic输出:
1 2 3 **4 5 6**
6 3 5 **4 2 1**
1 5 2 **4 3 6**
6 2 3 **4 5 1**
1 3 5 **4 2 6**
6 5 2 **4 3 1**
1 2 3 **4 5 6**
6 3 5 **4 2 1**
1 5 2 **4 3 6**
6 2 3 **4 5 1**
1 3 5 **4 2 6**
答案:若无答案欢迎评论