#ARC189A. Reversi 2

    ID: 1673 传统题 2000ms 1024MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>普及+/提高−组合数学动态规划计数

Reversi 2

Reversi 2

时间限制:2s
空间限制:1024MB

题目描述

有 NN 个从 11 到 NN 编号的格子。初始时,第 ii 个格子中写着 i mod 2i\bmod 2。你可以进行任意多次如下操作:

  • 选择满足 l+1<rl+1<r 的格子 l,rl,r,要求两端数字相同,且所有 l<i<rl<i<r 的格子中的数字都与端点不同;随后把格子 l+1,l+2,…,r−1l+1,l+2,\ldots,r-1 中的数字全部改为格子 ll 中的数字。

求使最终第 ii 个格子的数字等于 AiA_i 的操作序列数量,答案对 998244353998244353 取模。两操作序列只要长度不同,或某一步选择的 (l,r)(l,r) 不同,就视为不同。

输入格式

N
A_1 A_2 \cdots A_N

输出格式

输出一个整数,表示操作序列数量对 998244353998244353 取模的结果。

样例输入 1

6
1 1 1 1 1 0

样例输出 1

3

样例输入 2

10
1 1 1 1 1 0 1 1 1 0

样例输出 2

9

数据范围

1≤N≤2×1051\le N\le 2\times 10^5,0≤Ai≤10\le A_i\le 1。

子任务编号 分值 特殊限制
1 15 对所有 ii 均有 Ai=i mod 2A_i=i\bmod 2
2 25 N≤10N\le 10
3 30 序列 (Ai⊕Ai+1)i=1N−1(A_i\oplus A_{i+1})_{i=1}^{N-1} 中至多有一段连续的 00
4 无特殊限制