luogu#P11518. [CCO 2024] Heavy Light Decomposition

[CCO 2024] Heavy Light Decomposition

题目背景

翻译自 CCO2024P5题

题目描述

在一个只包含正整数的数组中,如果一个数字在数组里多次出现,我们就称它为“重的”,否则为“轻的”。定义好的数组是指数组里的数字交替出现“轻的”元素和“重的”元素。给你一个数组 a1,,aNa_{1}, \ldots, a_{N},请计算把它划分成若干个连续的子数组,使得每个子数组本身也都是好数组的方案数。由于答案可能很大,请将最终结果对 10000031000003 取模输出。

输入格式

第一行包含一个正整数 NN

第二行包含 NN 个正整数 a1,,aN (1aiN)a_{1}, \ldots, a_{N}\ (1 \leq a_{i} \leq N),表示数组中的元素。

输出格式

输出一行一个整数,表示方案数对 10000031000003 取模后的结果。

5
1 2 3 2 3
4
5
1 2 1 3 1
6

提示

子任务 分值 限制
11 1212 2N500002 \leq N \leq 50000,对于所有的 iiai26a_{i}\leq 26
22 1616 2N50002 \leq N \leq 5000
33 2020 2N5×1052 \leq N \leq 5\times 10^5,每个序号为奇数的元素 aia_{i} 都必须等于 11
44 2424 数组里的每个数字最多出现两次
55 2828 2N5×1052 \leq N \leq 5\times 10^5,无额外限制

对于 100%100\% 的数据,2N5×1052 \leq N \leq 5\times 10^5