CF165C.Another Problem on Strings

普及/提高-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

A string is binary, if it consists only of characters "0" and "1".

String v is a substring of string w if it has a non-zero length and can be read starting from some position in string w. For example, string "010" has six substrings: "0", "1", "0", "01", "10", "010". Two substrings are considered different if their positions of occurrence are different. So, if some string occurs multiple times, we should consider it the number of times it occurs.

You are given a binary string s. Your task is to find the number of its substrings, containing exactly k characters "1".

如果一个字符串仅由字符“0”和“1”组成,则称其为二进制字符串。

若字符串 vv 具有非零长度,且可从字符串 ww 的某个位置开始连续读出,则称 vv 是 ww 的一个子串。例如,字符串 "010" 有六个子串:"0"、"1"、"0"、"01"、"10"、"010"。若两个子串在原字符串中出现的位置不同,则认为它们是不同的子串。因此,若某个子串在原字符串中多次出现,应将其出现次数全部计入。

给定一个二进制字符串 ss,你的任务是求出其中恰好包含 kk 个字符 "1" 的子串的个数。

输入格式

The first line contains the single integer k (0 ≤ k ≤ 106). The second line contains a non-empty binary string s. The length of s does not exceed 106 characters.

第一行包含一个整数 kk(0≤k≤1060 \leq k \leq 10^6)。第二行包含一个非空的二进制字符串 ss。字符串 ss 的长度不超过 10610^6 个字符。

输出格式

Print the single number — the number of substrings of the given string, containing exactly k characters "1".

Please do not use the %lld specifier to read or write 64-bit integers in С++. It is preferred to use the cin, cout streams or the %I64d specifier.

输出一个整数——即给定字符串中恰好包含 k 个字符 "1" 的子串个数。

在 C++ 中,请勿使用 %lld 说明符读写 64 位整数。推荐使用 cin、cout 流,或 %I64d 说明符。

输入输出样例

  • 输入#1

    1
    1010

    输出#1

    6
  • 输入#2

    2
    01010

    输出#2

    4
  • 输入#3

    100
    01010

    输出#3

    0

说明/提示

In the first sample the sought substrings are: "1", "1", "10", "01", "10", "010".

In the second sample the sought substrings are: "101", "0101", "1010", "01010".

在第一个样例中,所求的子字符串为:“1”、“1”、“10”、“01”、“10”、“010”。

在第二个样例中,所求的子字符串为:“101”、“0101”、“1010”、“01010”。

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

首页