#P9682. Electro Master

    ID: 8781 Type: RemoteJudge 1000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>动态规划,dp洛谷原创O2优化组合数学洛谷月赛

Electro Master

题目背景

I might be wrong.

题目描述

考虑一个由四种微观粒子构成的系统:正负 A 子 a+,a\text{a}^+,\text{a}^-,正负 B 子 b+,b\text{b}^+,\text{b}^-

一开始,一条直线上放置了 nn 个 A 子;然后以某种方式给粒子以初速度,使得带正电荷的粒子向左,反之则向右运动。我们忽略粒子之间的相互作用,认为粒子在加速后速率一定,且均沿直线运动。

当两个粒子相撞时,粒子会反弹,沿着相反的方向继续运动。同时满足如下的变换规律:

  • 若两种粒子的电荷相同,则无事发生;
  • 若两种粒子的电荷不同,则改变成另一种同电荷的粒子。

例如:a\text{a}^-b+\text{b}^+ 相撞后,a\text{a}^- 会变成 b\text{b}^-b+\text{b}^+ 会变成 a+\text{a}^+,并各自沿着相反的方向运动。

定义一种摆放方式的权值为,经过足够长的时间后,在左侧收集到的 B 子个数。

现在已经确定了一些 A 子的正负性,剩下的 A 子可能带正电,也有可能带负电。请求出对于所有可能方案的权值之和。

你需要将答案对 998244353998\,244\,353 取模。

输入格式

输入一行一个长为 nn 的字符串 ss,代表从左到右的 A 子的正负性。具体而言:

  • sis_i+,则第 ii 个 A 子带正电;
  • sis_i-,则第 ii 个 A 子带负电;
  • sis_i?,则第 ii 个 A 子可能带正电,也可能带负电。

输出格式

输出一行一个数,代表答案对 998244353998\,244\,353 取模后的结果。

+?+-
1
??+-?-+
11
-????-?+?--????
2523

提示

样例 1 解释

有两种可能的填法:+++-+-+-。其权值分别为 0,10,1,所以最终的答案即为 11

数据规模与约定

对于所有数据,保证 1n20001\le n\le 2000si{+,-,?}s_i\in \{\texttt{+},\texttt{-},\texttt{?}\}

# nn\le 特殊性质 分值
0 - 样例 00
1 100100 ss 中没有 ? 1010
2 - 2020
3 300300 ss? 不超过 1515 1515
4 - 2020
5 - 3535