AT_abc310_e [ABC310E] NAND repeatedly

题目描述

给定一个由 `0` 和 `1` 组成的长度为 $N$ 的字符串 $S$。$S$ 表示一个长度为 $N$ 的数列 $A=(A_1,A_2,\ldots,A_N)$,其中 $S$ 的第 $i$ 个字符($1\leq i\leq N$)为 `0` 时 $A_i=0$,为 `1` 时 $A_i=1$。 请计算下式的值: $$ \sum_{1\leq i\leq j\leq N}(\cdots((A_i\barwedge A_{i+1})\barwedge A_{i+2})\barwedge\cdots\barwedge A_j) $$ 更严格地说,对于如下定义的 $f(i,j)\ (1\leq i\leq j\leq N)$,请计算 $\displaystyle\sum_{i=1}^{N}\sum_{j=i}^{N}f(i,j)$。 $$ f(i,j)=\left\{ \begin{matrix} A_i & (i=j)\\ f(i,j-1)\barwedge A_j & (i

输入格式

输入以如下格式从标准输入读入。 > $N$ $S$

输出格式

请输出答案,输出一行。

说明/提示

### 限制条件 - $1\leq N\leq 10^6$ - $S$ 是由 `0` 和 `1` 组成的长度为 $N$ 的字符串 - 输入均为整数 ### 样例解释 1 对于所有满足 $1\leq i\leq j\leq N$ 的 $(i,j)$ 组合,$f(i,j)$ 的值如下所示: - $f(1,1)=0=0$ - $f(1,2)=0\barwedge0=1$ - $f(1,3)=(0\barwedge0)\barwedge1=0$ - $f(1,4)=((0\barwedge0)\barwedge1)\barwedge1=1$ - $f(1,5)=(((0\barwedge0)\barwedge1)\barwedge1)\barwedge0=1$ - $f(2,2)=0=0$ - $f(2,3)=0\barwedge1=1$ - $f(2,4)=(0\barwedge1)\barwedge1=0$ - $f(2,5)=((0\barwedge1)\barwedge1)\barwedge0=1$ - $f(3,3)=1=1$ - $f(3,4)=1\barwedge1=0$ - $f(3,5)=(1\barwedge1)\barwedge0=1$ - $f(4,4)=1=1$ - $f(4,5)=1\barwedge0=1$ - $f(5,5)=0=0$ 这些值的总和为 $0+1+0+1+1+0+1+0+1+1+0+1+1+1+0=9$,因此请输出 $9$。 请注意,$\barwedge$ 不满足结合律。例如,$(1\barwedge1)\barwedge0=0\barwedge0=1\neq0=1\barwedge1=1\barwedge(1\barwedge0)$。 由 ChatGPT 4.1 翻译