#loj4170. 「CCO 2024」Heavy Light Decomposition
「CCO 2024」Heavy Light Decomposition
[AdditionalFile4170.zip](file://AdditionalFile4170.zip?type=additional_file)
#4170. 「CCO 2024」Heavy Light Decomposition
标签: 传统 | 时间限制: 4000 ms | 内存限制: 1024 MiB |
题目描述
译自 CCO 2024 Day2 T2「Heavy Light Decomposition」。
在一个只包含正整数的数组中,如果一个数字在数组里出现多次,我们就称它为「重」元素,否则为「轻」元素。
好的数组是指数组里的数字交替出现「轻」元素和「重」元素。
给你一个数组 ,请计算把它划分成若干个连续的子数组,使得每个子数组本身也都是好的数组的方案数。由于答案可能很大,请将最终结果对 取模输出。
输入格式
第一行包含一个正整数 ,表示数组的长度。
第二行包含 个正整数 ,表示数组中的元素。
输出格式
输出将数组划分成好的连续子数组的方案数,对 取模后的结果。
样例 1
输入
5
1 2 3 2 3
输出
4
对于数组 ,存在 4 种合法的划分方式:
样例 2
输入
5
1 2 1 3 1
输出
6
数据范围与提示
| 子任务 | 分值 | 的限制 | 额外限制 |
|---|---|---|---|
| 对于所有的 , | |||
| 无额外限制 | |||
| 每个序号为奇数的元素 都必须等于 | |||
| 数组里的每个数字最多出现两次 | |||
| 无额外限制 |