atcoder#ARC159F. [ARC159F] Good Division

[ARC159F] Good Division

题目描述

数列 X X が次の条件を満たす時、X X 良い数列と呼ぶことにします。

  • 次の操作を 0 0 回以上繰り返すことで X X を空の列に出来る。
    • X X の隣り合う 2 2 要素 xi,xi+1 x_i,x_{i+1} であって xi  xi+1 x_i\ \neq\ x_{i+1} を満たすものを選び、削除する。

2N 2N 要素の数列 A=(a1,,a2N) A=(a_1,\ldots,a_{2N}) が与えられます。
A A 1 1 個以上の連続部分列に分割する方法は 22N1 2^{2N-1} 通りありますが、そのうち各連続部分列がすべて良い数列であるようなものが何通りあるかを 998244353 998244353 で割った余りを求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N a1 a_1 \ldots a2N a_{2N}

输出格式

答えを出力せよ。

题目大意

定义一个序列是好的当且仅当可以每次删去一对相邻不同的数把序列删空。

现在给定一个长度为 2n2n 的序列 AA,计数划分方式使得每一段都是好的。

3
1 1 2 3 4 5
2
1
1 2
1
1
1 1
0
12
4 2 17 12 18 15 17 4 22 6 9 20 21 16 23 16 13 2 20 15 16 3 7 15
2048

提示

制約

  • 1  N  5 × 105 1\ \leq\ N\ \leq\ 5\ \times\ 10^5
  • 1  ai  2N 1\ \leq\ a_i\ \leq\ 2N
  • 入力はすべて整数

Sample Explanation 1

以下の 2 2 通りの分割方法が条件を満たします。 - (1,1,2,3,4,5) (1,1,2,3,4,5) - (1,1,2,3),(4,5) (1,1,2,3),(4,5)