#P14969. [2026年重庆省队集训]诵芬题

    ID: 14185 传统题 8000ms 2048MiB 尝试: 1 已通过: 1 难度: 9 上传者: 标签>CF2600字符串后缀数组字符串哈希分块可持久化枚举

[2026年重庆省队集训]诵芬题

题目描述

定义一个长度为 kk 值域为 [1,m]Z+[1,m]\cap \mathbb Z_+ 的字符串 ss 的生成字符串为,枚举所有大小为 mm 的排列 pp,字典序最小的 ps1ps2pskp_{s_1}p_{s_2}\dots p_{s_k}

有一个长度为 nn 值域为 [1,m]Z+[1,m]\cap \mathbb Z_+ 的字符串 SS,你需要求出其所有子串的生成字符串的种类数。

输入格式

第一行两个正整数 n,mn,m,表示字符串长度与值域大小,接下来一行 nn 个正整数表示字符串 SS

输出格式

输出一行一个正整数表示答案。

样例输入 1

5 3
1 2 3 2 1

样例输出 1

7

样例输入 2

6 3
1 2 3 1 3 2

样例输出 2

10

样例输入 3

10 10
1 2 3 4 5 6 7 8 9 10

样例输出 3

10

样例解释

对于第一组样例,总共有如下本质不同的生成字符串:

  • [1][1][1],[2],[3],[2],[1][1],[2],[3],[2],[1]
  • [1,2][1,2][1,2],[2,3],[3,2],[2,1][1,2],[2,3],[3,2],[2,1]
  • [1,2,3][1,2,3][1,2,3],[3,2,1][1,2,3],[3,2,1]
  • [1,2,1][1,2,1][2,3,2][2,3,2]
  • [1,2,3,2][1,2,3,2][1,2,3,2][1,2,3,2]
  • [1,2,1,3][1,2,1,3][2,3,2,1][2,3,2,1]
  • [1,2,3,2,1][1,2,3,2,1][1,2,3,2,1][1,2,3,2,1]

数据范围

本题采用捆绑测试。

对于所有测试点:

  • 1mn1\leq m\leq n
  • 1n2×1051\leq n \leq 2\times10^5
子任务编号 nn \leq mm\leq 分数
11 2×1032\times10^3 2626 1010
22 5×1045\times10^4 22 2020
33 33
44 66 1515
55 nn 2525
66 2×1052\times10^5 1010

8s / 2048MB