103104: [Atcoder]ABC310 E - NAND repeatedly

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:3 Solved:0

Description

Score : $450$ points

Problem Statement

You are given a string $S$ of length $N$ consisting of 0 and 1. It describes a length-$N$ sequence $A=(A _ 1,A _ 2,\ldots,A _ N)$. If the $i$-th character of $S$ $(1\leq i\leq N)$ is 0, then $A _ i=0$; if it is 1, then $A _ i=1$.

Find the following:

\[\sum _ {1\leq i\leq j\leq N}(\cdots((A _ i\barwedge A _ {i+1})\barwedge A _ {i+2})\barwedge\cdots\barwedge A _ j)\]

More formally, find $\displaystyle\sum _ {i=1} ^ {N}\sum _ {j=i} ^ Nf(i,j)$ for $f(i,j)\ (1\leq i\leq j\leq N)$ defined as follows:

\[f(i,j)=\left\{\begin{matrix} A _ i&(i=j)\\ f(i,j-1)\barwedge A _ j\quad&(i\lt j) \end{matrix}\right.\]

Here, $\barwedge$, NAND, is a binary operator satisfying the following:

\[0\barwedge0=1,0\barwedge1=1,1\barwedge0=1,1\barwedge1=0.\]

Constraints

  • $1\leq N\leq10^6$
  • $S$ is a string of length $N$ consisting of 0 and 1.
  • All input values are integers.

Input

The input is given from Standard Input in the following format:

$N$
$S$

Output

Print the answer in a single line.


Sample Input 1

5
00110

Sample Output 1

9

Here are the values of $f(i,j)$ for the pairs $(i,j)$ such that $1\leq i\leq j\leq N$:

  • $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$

Their sum is $0+1+0+1+1+0+1+0+1+1+0+1+1+1+0=9$, so print $9$.

Note that $\barwedge$ does not satisfy the associative property. For instance, $(1\barwedge1)\barwedge0=0\barwedge0=1\neq0=1\barwedge1=1\barwedge(1\barwedge0)$.


Sample Input 2

30
101010000100101011010011000010

Sample Output 2

326

Input

题意翻译

给出一个长度为 $ N $ 的,仅包含 $ 0 $ 和 $ 1 $ 的字符串 $ S $ ,其中, $ S $ 的第 $ i $ 位表示 $ A_i $ 的值。 请求出以下式子的值: $\displaystyle \sum_{ 1 \leq i \leq j \leq N } (\cdots((A_i\barwedge A_{i+1})\barwedge A_{i+2})\barwedge\cdots\barwedge A_j)$ 如果以上公式难以理解,你可以通过求出 $ \displaystyle \sum_{i=1}^{N} \sum_{j=i}^N f(i,j) $ 的值来求出以上式子的值。其中, $ f(i,j) ( 1 \leq i \leq j \leq N ) $ 使用以下方式进行计算: $ f(i,j) = \begin{cases} A_i &\ (i = j) \\ f(i,j-1) \barwedge A_j &\ (i \lt j) \end{cases}$ 其中, $ \barwedge $ 是一个位运算符,满足以下性质: $ 0 \barwedge 0=1,0 \barwedge1 =1,1 \barwedge 0=1,1 \barwedge 1=0 $

Output

分数:450分 部分 部分 问题说明 给你一个长度为N的字符串S,由0和1组成。它描述了一个长度为N的序列A=(A_1,A_2,...,A_N)。如果字符串S的第i个字符$(1≤i≤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)$ 更正式地说,对于$1≤i≤j≤N$定义的$f(i,j)$,找出$\displaystyle\sum _ {i=1} ^ {N}\sum _ {j=i} ^ Nf(i,j)$: \[f(i,j)=\left\{\begin{matrix} A _ i&(i=j)\\ f(i,j-1)\barwedge A _ j\quad&(i\lt j) \end{matrix}\right.\] 这里,$\barwedge$,NAND,是一个二元运算符,满足以下条件: \[0\barwedge0=1,0\barwedge1=1,1\barwedge0=1,1\barwedge1=0.\] 部分 部分 限制 * $1≤N≤10^6$ * S是一个由0和1组成的长度为N的字符串。 * 所有输入值都是整数。 部分 部分 输入 输入格式如下: $N$ $S$ 部分 部分 输出 在一行中打印答案。 部分 部分 样例输入1 5 00110 部分 部分 样例输出1 9 以下是对于满足$1≤i≤j≤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≠0=1\barwedge1=1\barwedge(1\barwedge0)$。 部分 部分 样例输入2 30 101010000100101011010011000010

HINT

求任意区间的“疑惑”和的和?

加入题单

算法标签: