#P17170. 合并之后字典序就变小了
合并之后字典序就变小了
1010. 合并之后字典序就变小了
题目描述
给定一个长度为 的数组 ,其中每个元素均属于 。
你可以执行任意多次以下操作:
选择两个相邻元素 ,将它们删除,并在原位置插入 。
每次操作会使数组长度减少 。
定义 为通过若干次操作能够得到的字典序最小数组。
对于数组 ,定义
$\operatorname{val}(B)=\sum_{i=1}^{|B|}B_i\cdot 3^{i-1}$。
给定数组 ,求
$\sum_{L=1}^{N}\sum_{R=L}^{N}\operatorname{val}(f(A[L,R]))$
对 取模后的结果。
其中, 表示子数组 。
对于两个不同的数组 ,如果满足以下任意条件,则称 的字典序小于 :
- 是 的前缀;
- 存在位置 ,满足 ,且对所有 都有 。
输入格式
第二行输入 个整数 。
对于一组测试数据:
;
。
OJ 中只有一个正式测试点,该测试点满足:
;
。
输出格式
对于每组测试数据输出一行,表示所有子数组对应的 之和,对 取模后的结果。
样例输入
3
2
2 1
3
1 1 2
4
2 1 0 2
样例输出
3
9
30
来源:2026杭电多校-测试专用(肖岱恩) 原题链接:http://acm.hdu.edu.cn/contest/problem_show.php?cid=1236&pid=1010