CF1270F.Awesome Substrings

普及/提高-

通过率:0%

时间限制:8.00s

内存限制:512MB

AC君温馨提醒

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

题目描述

Let's call a binary string ss awesome, if it has at least 11 symbol 1 and length of the string is divisible by the number of 1 in it. In particular, 1, 1010, 111 are awesome, but 0, 110, 01010 aren't.

You are given a binary string ss. Count the number of its awesome substrings.

A string aa is a substring of a string bb if aa can be obtained from bb by deletion of several (possibly, zero or all) characters from the beginning and several (possibly, zero or all) characters from the end.

我们称一个二进制字符串 ss 是“极好的”(awesome),如果它至少包含 11 个字符 1,且其长度能被其中 1 的个数整除。特别地,11010111 是极好的,但 011001010 不是。

给定一个二进制字符串 ss,请计算其极好的子串的个数。

字符串 aa 是字符串 bb 的子串,当且仅当 aa 可通过从 bb 的开头删除若干(可能为零个或全部)字符,并从 bb 的末尾删除若干(可能为零个或全部)字符而得到。

输入格式

The first line contains the string ss (1s2000001 \leq |s|\le 200\,000) consisting only of zeros and ones.

第一行包含字符串 ss1s2000001 \leq |s|\le 200\,000),该字符串仅由 01 组成。

输出格式

Output a single number — the number of awesome substrings of ss.

输出一个整数——字符串 ss 中“极好子串”的数量。

输入输出样例

  • 输入#1

    111

    输出#1

    6
  • 输入#2

    01010

    输出#2

    10
  • 输入#3

    0000

    输出#3

    0
  • 输入#4

    1111100000

    输出#4

    25

说明/提示

In the first sample, all substrings of ss are awesome.

In the second sample, we have the following awesome substrings of ss: 1 (22 times), 01 (22 times), 10 (22 times), 010 (22 times), 1010, 0101

In the third sample, no substring is awesome.

在第一个样例中,ss 的所有子串都是“awesome”的。

在第二个样例中,ss 的“awesome”子串如下:1(出现 22 次)、01(出现 22 次)、10(出现 22 次)、010(出现 22 次)、1010、0101。

在第三个样例中,不存在任何“awesome”子串。

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

首页