CF386C.Diverse Substrings

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

String diversity is the number of symbols that occur in the string at least once. Diversity of ss will be denoted by d(s)d(s) . For example , dd ("aaa")=1, dd ("abacaba")=3.

Given a string ss , consisting of lowercase Latin letters. Consider all its substrings. Obviously, any substring diversity is a number from 1 to d(s)d(s) . Find statistics about substrings diversity: for each kk from 1 to d(s)d(s) , find how many substrings of ss has a diversity of exactly kk .

输入格式

The input consists of a single line containing ss . It contains only lowercase Latin letters, the length of ss is from 1 to 31053·10^{5} .

输出格式

Print to the first line the value d(s)d(s) . Print sequence t1,t2,...,td(s)t_{1},t_{2},...,t_{d(s)} to the following lines, where tit_{i} is the number of substrings of ss having diversity of exactly ii .

输入输出样例

  • 输入#1

    abca
    

    输出#1

    3
    4
    3
    3
    
  • 输入#2

    aabacaabbad
    

    输出#2

    4
    14
    19
    28
    5
    

说明/提示

Consider the first example.

We denote by s(i,j)s(i,j) a substring of "abca" with the indices in the segment [i,j][i,j] .

  • s(1,1)=s(1,1)= "a", d(d( "a" )=1)=1
  • s(2,2)=s(2,2)= "b", d(d( "b" )=1)=1
  • s(3,3)=s(3,3)= "c", d(d( "c" )=1)=1
  • s(4,4)=s(4,4)= "a", d(d( "a" )=1)=1
  • s(1,2)=s(1,2)= "ab", d(d( "ab" )=2)=2
  • s(2,3)=s(2,3)= "bc", d(d( "bc" )=2)=2
  • s(3,4)=s(3,4)= "ca", d(d( "ca" )=2)=2
  • s(1,3)=s(1,3)= "abc", d(d( "abc" )=3)=3
  • s(2,4)=s(2,4)= "bca", d(d( "bca" )=3)=3
  • s(1,4)=s(1,4)= "abca", d(d( "abca" )=3)=3

Total number of substring with diversity 1 is 4, with diversity 2 equals 3, 3 diversity is 3.

首页