#P195. [User Entry] 小 L 买彩票

[User Entry] 小 L 买彩票

版权声明

本题版权归 所有。

题目来源:https://www.luogu.com.cn/problem/T573217

题目描述

有一种彩票,它每期开出 2626 个大写字母中的一个作为中奖号码。开奖方式如下:

  1. 生成一个恰好含有 pp 个大写字母的字符串 PP
  2. 生成一个二元组 (l,r)(l,r),其中 1l,rp1 \le l,r \le pl,rl,r 为整数;
  3. 如果 l>rl>r,跳至第 55 步;
  4. 截取 PP 的第 llrr 个字母,然后跳至第 66 步;
  5. 截取 PP 的第 llpp 个字母和第 11rr 个字母;
  6. 如果截取的字母个数不足 kk 个,跳至第 22 步;
  7. 将截取的所有字母按 A\texttt{A}Z\texttt{Z} 排序;
  8. 取出第 kk 个字母,作为中奖号码。

从第 6\bm 6 步跳至第 2\bm 2 步时,二元组 (l,r)\bm{(l,r)} 将重新生成,字母也将重新截取,但字符串 P\bm P 不变。

一天,小 L 和小 M 去买这种彩票了,以此来比谁运气好。小 L 希望自己能完胜小 M。

于是,他费尽心机,最终得到了这期生成的 PPkk,但他没得到这期生成的二元组 (l,r)(l,r)

因此,他想问你:对于每个字母,有多少个二元组 (l,r)(l,r) 可以使这个字母成为中奖号码?

输入格式

两行。

第一行,两个正整数,p,kp,k

第二行,一个仅含大写字母的字符串 PP

输出格式

2626 行,依次输出使 A\texttt{A}Z\texttt{Z} 成为中奖号码的二元组 (l,r)(l,r) 的个数。

样例

4 3
FAOI
0
0
0
0
0
0
0
0
5
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
35 1
THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
630
294
24
27
118
50
6
5
3
21
1
1
10
4
13
2
2
3
1
2
2
1
1
1
2
1

样例 1 解释

(l,r)(l,r) 截取的字母 中奖号码
(1,3)(1,3) AFO\texttt{AFO} O\texttt{O}
(2,4)(2,4) AIO\texttt{AIO}
(3,1)(3,1) FIO\texttt{FIO}
(4,2)(4,2) AFI\texttt{AFI} I\texttt{I}
(1,4)(1,4) AFIO\texttt{AFIO}
(2,1)(2,1)
(3,2)(3,2)
(4,3)(4,3)

数据范围

Subtask 编号 pp \le 分值
11 10210^2 4040
22 10510^5 3030
33 10610^6

对于 100%100\% 的数据,1kp1061 \le k \le p \le 10^6

为了方便做题,本题输入文件末尾没有换行符。