A - Many Formulae 解説 by evima

We should do DP to find the number of ways to form a prefix of the formula so that \(A_i\) follows a + or a -.

More specifically, we should let \(dp[i][j]\) to be the number of ways to arrange a total of \(i\) signs so that no two -s occur in a row and the last sign is + if \(j=0\) and - if \(j=1\).

For each \(2 \leq i \leq N\), if we fix the sign that comes just before \(A_i\), we can independently decide the first \(i-2\) signs and the last \(N-i\) signs, and we can find the number of ways to set them using the values in \(dp\) above.

The complexity of this solution is \(O(N)\).