CF1129D.Isolation
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Find the number of ways to divide an array a of n integers into any number of disjoint non-empty segments so that, in each segment, there exist at most k distinct integers that appear exactly once.
Since the answer can be large, find it modulo 998244353 .
输入格式
The first line contains two space-separated integers n and k ( 1≤k≤n≤105 ) — the number of elements in the array a and the restriction from the statement.
The following line contains n space-separated integers a1,a2,…,an ( 1≤ai≤n ) — elements of the array a .
输出格式
The first and only line contains the number of ways to divide an array a modulo 998244353 .
输入输出样例
输入#1
3 1 1 1 2
输出#1
3
输入#2
5 2 1 1 2 1 3
输出#2
14
输入#3
5 5 1 2 3 4 5
输出#3
16
说明/提示
In the first sample, the three possible divisions are as follows.
- [[1],[1],[2]]
- [[1,1],[2]]
- [[1,1,2]]
Division [[1],[1,2]] is not possible because two distinct integers appear exactly once in the second segment [1,2] .