4553:[GESP202512八级] 宝石项链

文件提交:无需freopen 内存限制:128 MB 时间限制:1.000 S
评测方式:普通裁判
金币值:
命题人:
提交:0 解决:0

题目描述

## 题目背景 2025 年 12 月 GESP C++ 八级编程第 2 题 ## 题目描述 小 A 有一串包含 $n$ 枚宝石的宝石项链,这些宝石按照在项链中的顺序依次以 $1,2,\dots,n$ 编号,第 $n$ 枚宝石与第 $1$ 枚宝石相邻。项链由 $m$ 种宝石组成,其中第 $i$ 枚宝石种类为 $t_i$。 小 A 想将宝石项链分给他的好朋友们。具体而言,小 A 会将项链划分为若干**连续段**,并且需要保证每段都包含全部 $m$ 种宝石。请帮小 A 计算在满足条件的前提下,宝石项链最多可以划分为多少段。 ## 输入格式 第一行,两个正整数 $n,m$,分别表示宝石项链中的宝石的数量与种类数。 第二行,$n$个正整数 $t_1,t_2,\dots,t_n$,表示每枚宝石的种类。 ## 输出格式 输出一行,一个整数,表示宝石项链最多可以划分的段数。 ## 样例 ```input1 6 2 1 2 1 2 1 2 ``` ```output1 3 ``` ```input2 7 3 3 1 3 1 2 1 2 ``` ```output2 2 ``` ## 数据范围 对于 $40 \%$ 的测试点,保证 $2\le n\le 1000$。 对于所有测试点,保证 $2\le n\le 10^5$,$2 \le m \le n$,$1 \le t_i \le m$,保证 $1,2,\dots,m$ 均在 $t_1,t_2,\dots,t_n$ 中出现。

来源/分类