AT_utpc2012_07.k番目の文字列

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

爱丽丝有 nn 张卡片,每张卡片上写着从 a\texttt{a} 到字母表第 nn 个小写字母中的一个(例如 n=3n=3,那么爱丽丝就有写着 a\texttt{a}、b\texttt{b}、c\texttt{c} 的三张卡片)。爱丽丝想要将这些卡片重新排列成一个字符串。这之后,她提取出这个字符串的所有非空子串,并将它们按字典序排序。已知排序后第 kk 个子串是 ss。她很好奇:有多少种满足这个条件的字符串呢?

例如,当 n=3n=3 时,如果将卡片排列成 cab\texttt{cab},那么其子串按字典序排序后为 a\texttt{a}、ab\texttt{ab}、b\texttt{b}、c\texttt{c}、ca\texttt{ca}、cab\texttt{cab},第 33 个子串是 b\texttt{b}。而使得排序后第 33 个子串为 b\texttt{b} 的排列有两种,分别是这种和 bac\texttt{bac}。

求所有子字符串按字典顺序排序时,第 kk 个字符串为 ss 的排列方式的数量,结果对 109+710^9+7 取模。不过,爱丽丝可能在做梦,这样的排列方式实际上可能并不存在。在这种情况下,请输出 00。

输入格式

第一行两个整数 nn、kk。

第二行一个字符串 ss。

输出格式

一行一个整数。

说明/提示

对 50%50\% 的数据:∣s∣≥n−2|s| \geq n-2。其中 ∣s∣|s| 表示字符串 ss 的长度。

对 100%100\% 的数据:

  • 1≤n≤261 \leq n \leq 26;
  • 1≤k≤n(n+1)21 \leq k \leq \frac{n(n+1)}{2};
  • ss 的所有字符互不相同;
  • ss 由字母表内第 1∼n1 \sim n 个小写字母组成。

Translated by UID 781046.

输入解题思路,AI测评打分。不知道怎么写?

首页