#CSES2115. 位字符串的子串

    ID: 430 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>字符串前缀和双指针子串统计CSES进制转换

位字符串的子串

题目背景

翻译自 CSES-2115 题。

题目描述

给定一个长度为 nn 的二进制字符串。你的任务是计算对于每个 kk0kn0 \le k \le n),包含恰好 kk11 的非空子串的数量。

例如,如果字符串是 101101,结果如下:

  • 11 个子串包含 001100
  • 44 个子串包含 111101,1,1,1001, 1, 1, 10
  • 11 个子串包含 2211101101
  • 00 个子串包含 3311

输入格式

唯一的输入行是一个长度为 nn 的二进制字符串。

输出格式

输出 n+1n + 1 个值,表示每个 kk(从 00nn)包含恰好 kk11 的子串的数量。

样例

101
1 4 1 0

数据范围

  • 1n2×1051 \le n \le 2 \times 10^5