AT_abc310_e.[ABC310E] NAND repeatedly

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个由 0 和 1 组成的长度为 NN 的字符串 SS。SS 表示一个长度为 NN 的数列 A=(A1,A2,…,AN)A=(A_1,A_2,\ldots,A_N),其中 SS 的第 ii 个字符(1≤i≤N1\leq i\leq N)为 0 时 Ai=0A_i=0,为 1 时 Ai=1A_i=1。

请计算下式的值:

∑1≤i≤j≤N(⋯((Ai⊼Ai+1)⊼Ai+2)⊼⋯⊼Aj)\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≤i≤j≤N)f(i,j)\ (1\leq i\leq j\leq N),请计算 ∑i=1N∑j=iNf(i,j)\displaystyle\sum_{i=1}^{N}\sum_{j=i}^{N}f(i,j)。

f(i,j)={Ai(i=j)f(i,j−1)⊼Aj(i<j)f(i,j)=\left\{ \begin{matrix} A_i & (i=j)\\ f(i,j-1)\barwedge A_j & (i<j) \end{matrix} \right.

其中,否定与(⊼\barwedge)是满足以下规则的二元运算符:

0⊼0=1, 0⊼1=1, 1⊼0=1, 1⊼1=00\barwedge0=1,\ 0\barwedge1=1,\ 1\barwedge0=1,\ 1\barwedge1=0

输入格式

输入以如下格式从标准输入读入。

NN SS

输出格式

请输出答案,输出一行。

输入输出样例

  • 输入#1

    5
    00110

    输出#1

    9
  • 输入#2

    30
    101010000100101011010011000010

    输出#2

    326

说明/提示

限制条件

  • 1≤N≤1061\leq N\leq 10^6
  • SS 是由 0 和 1 组成的长度为 NN 的字符串
  • 输入均为整数

样例解释 1

对于所有满足 1≤i≤j≤N1\leq i\leq j\leq N 的 (i,j)(i,j) 组合,f(i,j)f(i,j) 的值如下所示:

  • f(1,1)=0=0f(1,1)=0=0
  • f(1,2)=0⊼0=1f(1,2)=0\barwedge0=1
  • f(1,3)=(0⊼0)⊼1=0f(1,3)=(0\barwedge0)\barwedge1=0
  • f(1,4)=((0⊼0)⊼1)⊼1=1f(1,4)=((0\barwedge0)\barwedge1)\barwedge1=1
  • f(1,5)=(((0⊼0)⊼1)⊼1)⊼0=1f(1,5)=(((0\barwedge0)\barwedge1)\barwedge1)\barwedge0=1
  • f(2,2)=0=0f(2,2)=0=0
  • f(2,3)=0⊼1=1f(2,3)=0\barwedge1=1
  • f(2,4)=(0⊼1)⊼1=0f(2,4)=(0\barwedge1)\barwedge1=0
  • f(2,5)=((0⊼1)⊼1)⊼0=1f(2,5)=((0\barwedge1)\barwedge1)\barwedge0=1
  • f(3,3)=1=1f(3,3)=1=1
  • f(3,4)=1⊼1=0f(3,4)=1\barwedge1=0
  • f(3,5)=(1⊼1)⊼0=1f(3,5)=(1\barwedge1)\barwedge0=1
  • f(4,4)=1=1f(4,4)=1=1
  • f(4,5)=1⊼0=1f(4,5)=1\barwedge0=1
  • f(5,5)=0=0f(5,5)=0=0

这些值的总和为 0+1+0+1+1+0+1+0+1+1+0+1+1+1+0=90+1+0+1+1+0+1+0+1+1+0+1+1+1+0=9,因此请输出 99。

请注意,⊼\barwedge 不满足结合律。例如,(1⊼1)⊼0=0⊼0=1≠0=1⊼1=1⊼(1⊼0)(1\barwedge1)\barwedge0=0\barwedge0=1\neq0=1\barwedge1=1\barwedge(1\barwedge0)。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页