atcoder#ARC138B. [ARC138B] 01 Generation

[ARC138B] 01 Generation

题目描述

すぬけくんは,0 0 1 1 からなる長さ N N の整数列を作ろうとしています. 今すぬけ君は空の数列 x x を持っており,これから以下の 2 2 種類の操作を好きな順番で N N 回行います.

  • 操作A: x x の要素をすべて flip する.つまり,0 0 ならば 1 1 に変え,1 1 ならば 0 0 に変える. その後,x x の先頭に 0 0 を追加する.
  • 操作B: x x の末尾に 0 0 を追加する.

0 0 1 1 からなる長さ N N の整数列 A=(A1,A2,,AN) A=(A_1,A_2,\cdots,A_N) が与えられます. x x A A に一致させることが可能かどうか判定してください.

输入格式

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

N N A1 A_1 A2 A_2 \cdots AN A_N

输出格式

x x A A に一致させることが可能ならば Yes を,不可能ならば No を出力せよ.

题目大意

给定一个长度为 nn 的 01 串,并给出 A B 两种操作,要求判断是否可以由一个空串通过这两种操作构造出该 01 串。

两种操作分别为:

  • A 操作:将串中的每一位翻转,即 00 变成 1111 变成 00,最后再在串的最前面追加一个 00
  • B 操作:在串的最后面追加一个 00

如果可以构造出来,输出 Yes,否则输出 No

翻译:

https://www.luogu.com.cn/user/196903

4
0 1 1 0
Yes
4
1 0 0 0
No
4
0 0 0 1
No

提示

制約

  • 1  N  2 × 105 1\ \leq\ N\ \leq\ 2\ \times\ 10^5
  • 0  Ai  1 0\ \leq\ A_i\ \leq\ 1
  • 入力される値はすべて整数

Sample Explanation 1

以下のように操作すればよいです. - 始状態:x=() x=() - 操作Aを行う.x=(0) x=(0) となる. - 操作Bを行う.x=(0,0) x=(0,0) となる. - 操作Aを行う.x=(0,1,1) x=(0,1,1) となる. - 操作Bを行う.x=(0,1,1,0) x=(0,1,1,0) となる.