测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A9308. Diverse Substrings

编程题 普及/提高-

题目描述

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$ .

输入格式

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}$ .

输出格式

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$ .

输入输出样例

输入 #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)$ 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.
上一题 去做题 下一题