“c5672b02cee7363950145567acbd584fde0b36cc”上不存在“pages/component/git@gitcode.net:dcloud/hello-uni-app-x.git”
solution.md 1.2 KB
Newer Older
每日一练社区's avatar
每日一练社区 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
# 子串分值

#### 题目描述
对于一个字符串 S,我们定义 S 的分值 f(S)为 S 中出现的不同的字符个数。

例如f(“aba”)=2,f(“abc”)=3,f(“aaa”)=1。

现在给定一个字符串 S[0…n−1](长度为 n),请你计算对于所有S的非空子串S[i…j] (0≤i≤j<n),f(S[i…j]) 的和是多少。

#### 输入格式
输入一行包含一个由小写字母组成的字符串 S。

#### 输出格式
输出一个整数表示答案。

#### 输入样例
```
ababc
```
#### 输出样例
```
21
```
样例解释
```
子串 f值
a     1
ab    2
aba   1
abab  0
ababc 1
 b    1
 ba   2
 bab  1
 babc 2
  a   1
  ab  2
  abc 3
   b  1
   bc 2
    c 1
```
数据范围
```
对于 20% 的评测用例,1 ≤ n ≤ 10 1 ≤ n ≤ 101≤n≤10;
对于 40% 的评测用例,1 ≤ n ≤ 100 1 ≤ n ≤ 1001≤n≤100;
对于 50% 的评测用例,1 ≤ n ≤ 1000 1 ≤ n ≤ 10001≤n≤1000;
对于 60% 的评测用例,1 ≤ n ≤ 10000 1 ≤ n ≤ 100001≤n≤10000;
对于所有评测用例,1 ≤ n ≤ 100000 1 ≤ n ≤ 1000001≤n≤100000。
```

## aop

### before

```cpp

```

### after

```cpp

```

## 答案

```cpp

```

## 选项

### A

```cpp

```

### B

```cpp

```

### C

```cpp

```