#P11281. 「GFOI Round 2」Aob & Blice
「GFOI Round 2」Aob & Blice
题目背景
English statement. You must submit your code at the Chinese version of the statement.
题目描述
Aob 和 Blice 在玩游戏。
现在有一个长为 的排列 ,且 Aob 和 Blice 手里分别有一个初始为空的不可重集合 。定义一轮游戏过程如下:
-
首先 Aob 会随机选取两个满足 且 的数 ,然后从 和 这两个有序二元组中随机选取一个放入自己的集合 中。
-
在这之后,Blice 会从 和 中选择一个放入自己的集合 中。注意这里的 均为上一步中 Aob 选择的。
在无限轮游戏之后 ,Aob 和 Blice 会比较他们手里的集合。虽然 Aob 只会随机,Blice 看起来更聪明些,但是 Blice 想要最终他们两个的集合完全相等,这样平局就不会有任何一个人伤心啦!
不幸的是,这个排列中的某些数消失了,于是 Blice 找到了你,想知道有多少种可能的原排列,使得他们两个人能够在无限轮后达成平局。为了方便,你只需要求出答案对 取模的值。
在“无限轮”之后 Blice 能达到平局,定义为对于任意 ,存在一个正整数 ,使得对于任意 ,Blice 存在一种策略使得他在 轮结束之后不平局的概率 。
输入格式
第一行包含一个正整数 。
第二行包含 个整数 。对于每个 ,若 ,则表示第 位上的数消失了;否则表示原排列中第 位上的数。
输出格式
输出一行一个整数,表示答案对 取模的值。
3
0 2 0
2
7
0 3 2 0 5 7 0
2
提示
【样例解释 #1】
两种排列都是合法的:。
【数据范围】
本题采用捆绑测试。
子任务编号 | 特殊性质 | 分值 | |
---|---|---|---|
1 | 无 | ||
2 | A | ||
3 | 无 | ||
4 | A | ||
5 | B | ||
6 | 无 |
- 特殊性质 A:。
- 特殊性质 B:。
对于所有数据,满足:
- ;
- ;
- 对于任意 ,若 且 ,则 。