#ABC363C. 避免长度为 K 的回文

避免长度为 K 的回文

避免长度为 K 的回文

题目描述

给定一个长度为 NN、仅由小写英文字母组成的字符串 SS

求将 SS 的字符重新排列得到的所有字符串中(包括 SS 本身),不包含长度为 KK 的回文作为子串的字符串个数。

这里,长度为 NN 的字符串 TT 被称作「包含长度为 KK 的回文作为子串」,当且仅当存在一个不大于 NKN-K 的非负整数 ii,使得对每个满足 1jK1 \leq j \leq K 的整数 jj,都有 Ti+j=Ti+K+1jT_{i+j} = T_{i+K+1-j}

其中,TkT_k 表示字符串 TT 的第 kk 个字符。

输入格式

输入按以下格式从标准输入给出:

NN KK
SS

输出格式

输出将 SS 重新排列得到的不包含长度为 KK 的回文作为子串的字符串个数。

样例

3 2
aab
1

将 aab 重新排列得到的字符串有 aab、aba、baa。其中,aab 和 baa 包含长度为 22 的回文 aa 作为子串。

因此,满足条件的字符串只有 aba,所以输出 11

5 3
zzyyx
16

将 zzyyx 重新排列可以得到 3030 个字符串,其中 1616 个不包含长度为 33 的回文。因此输出 1616

10 5
abcwxyzyxw
440640

数据范围

  • 2KN102 \leq K \leq N \leq 10
  • NNKK 是整数。
  • SS 是长度为 NN、仅由小写英文字母组成的字符串。
难度 普及
通过率
尝试 0
已通过 0
ID
3363
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签