#B4453. [海淀区普及组 2025 T1] 序列相似对
[海淀区普及组 2025 T1] 序列相似对
题目描述
元旦联欢会即将到来,老师提前调查了班里 名同学中第 位同学喜欢的零食编号是 。为了统计同学们喜爱零食的相似程度,老师定义了如下指标:一个序列的权值被定义为满足 的下标对 (其中 )的数量。例如,序列 的权值为 4,具有相同值的下标对为 、、 和 。
对于一个长度为 的零食喜好序列 ,请你帮老师求出所有子段的权值之和。
如果序列 可以通过从序列 的开头删除若干(可能为零或全部)元素,并从结尾删除若干(可能为零或全部)元素得到,则称 是 的一个子段。
输入格式
第一行包含一个整数 ()。
第二行包含 个整数 ()。
输出格式
输出一个整数,表示序列的所有子段的权值之和。
4
1 2 1 1
6
提示
样例 1 解释:
长度为 1 的子段不可能有满足条件的下标对,而序列所有长度大于 1 的子段为:
- 第一组:,0 个满足条件的下标对;
- 第二组:,1 个满足条件的下标对();
- 第三组:,3 个满足条件的下标对(、、);
- 第四组:,0 个满足条件的下标对;
- 第五组:,1 个满足条件的下标对();
- 第六组:,1 个满足条件的下标对();
总计:。
数据范围:
对于前 30% 的数据,满足 ;
对于另外 20% 的数据,满足输入的 互不相等;
对于另外 20% 的数据,满足输入的 全部相等;
对于 100% 的数据,满足“输入格式”中给出的数据范围。