Testing Round 9
C
Diverse Substrings
Codeforces
2000
原题
← BD →
翻译中…

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

翻译中…

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

翻译中…

Input

翻译中…

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

翻译中…

Output

翻译中…

Print to the first line the value $*d*(*s*)$. Print sequence $*t*_{1}, *t*_{2}, ..., *t*_{*d*(*s*)}$ to the following lines, where $*t*_{*i*}$ is the number of substrings of $*s*$ having diversity of exactly $*i*$.

翻译中…

Note

翻译中…

Consider the first example.

翻译中…

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

翻译中…
  • $*s*(1, 1) =$ "a", $*d*($"a"$) = 1$
  • $*s*(2, 2) =$ "b", $*d*($"b"$) = 1$
  • $*s*(3, 3) =$ "c", $*d*($"c"$) = 1$
  • $*s*(4, 4) =$ "a", $*d*($"a"$) = 1$
  • $*s*(1, 2) =$ "ab", $*d*($"ab"$) = 2$
  • $*s*(2, 3) =$ "bc", $*d*($"bc"$) = 2$
  • $*s*(3, 4) =$ "ca", $*d*($"ca"$) = 2$
  • $*s*(1, 3) =$ "abc", $*d*($"abc"$) = 3$
  • $*s*(2, 4) =$ "bca", $*d*($"bca"$) = 3$
  • $*s*(1, 4) =$ "abca", $*d*($"abca"$) = 3$
翻译中…

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

翻译中…

样例

Input #1
abca
Output #1
3
4
3
3
InputCopy OutputCopy
Input #2
aabacaabbad
Output #2
4
14
19
28
5
InputCopy OutputCopy
题目信息
题号
386C
所属比赛
时间限制
1 s
内存限制
256 MB
标签
动态规划
字符串
双指针

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。