AlgoMooc
← 返回题库

P6300. 子序列中的k种字母

中等通过率 33% · 提交 24 · 通过 8
回溯字符串枚举数学

小慕正在研究字符串的性质。在数学中,某个序列的子序列是从最初序列通过去除某些元素但不破坏余下元素的相对位置而形成的新序列,比如对于字符串"abc","ab"和"ac"都是它的子序列,而"cb"和"ca"则不是。 小慕有一个长度为n的仅由小写字母组成的字符串s,他想知道s中有多少个子序列

提示:带虚线的词点一下有通俗解释。

输入描述

第一行输入两个正整数n和k。 第二行输入一个长度为n的仅包含小写字母的字符串s。(1 ≤ n < 10^5, 1 ≤ k ≤ 26)

输出描述

由于答案可能会很大,因此你只需要输出子序列个数对10^9+7取模的结果即可。

示例

示例 1

输入

6 5
eecbad

输出

3

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。