AT_arc189_a.[ARC189A] Reversi 2
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在一个由 N 个格子组成的棋盘上,每个格子从 1 到 N 进行编号。
起初,第 i 个格子上写有 imod2 的数字。你可以进行以下操作若干次(可以是零次):
- 选择两个满足条件的格子 l 和 r(要求 l+1<r),将中间格子 l+1,l+2,…,r−1 上的数字全部改为格子 l 上的数字。
- 条件是格子 l 和格子 r 上的数字相同。
- 并且中间的每个格子 i (l<i<r)上的数字要与格子 l 上的不同。
计算最后能使每个格子 i 上的数字为 Ai 的操作序列数量,并对结果取 998244353 的余数。
注:若两个操作序列满足以下任一条件即视作不同:长度不同,或者存在一个正整数 t,使得操作中第 t 次选择的 (l,r) 组合不同。
输入格式
从标准输入读入以下格式的数据:
N A1 A2 … AN
输出格式
输出计算结果。
输入输出样例
输入#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×105
- 0≤Ai≤1
样例解释 1
为了使格子 i(1≤i≤N) 上的数字变为 Ai,可以按照以下步骤进行操作(这里用数列 X=(X1,X2,…,XN) 表示格子的状态):
- 初始状态:X=(1,0,1,0,1,0)。
- 选择格子 2 和 4,之后状态变为 X=(1,0,0,0,1,0)。
- 选择格子 1 和 5,最终状态为 X=(1,1,1,1,1,0)。
除了上述方法外,还有另外两种操作方法可以实现每个格子 i 上的数字变为 Ai,因此答案是 3。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?