A1061. AC序列
编程题
普及+/提高
知识点
题目描述
【题目名称】AC序列
序列(英语:Sequences)在数学中是指被排成一列的对象或事件;这样,每个元素不是在其他元素之前,就是在其他元素之后。元素之间的顺序非常重要,其中常见的就是排成一列的数,即数列。
AC狗星的社会里有一种特殊数列,这种数列每条AC狗都知道,因为在他们的小学阶段就会学,这种序列称为AC序列。
简单来说,对于任意一个序列{a},从中选出尽可能多的数,按照在序列{a}中的相对位置形成新的序列{b},并且序列{b}满足$b_1<=b_2<=b_3<=⋯b_i<=b_{i+1}<=⋯<=b_n$,则称{b}序列是一个AC序列。AC序列可能不唯一,但是AC序列的长度唯一。
给定一个序列,序列中有$N$个**个位数**,求每个数以该数结尾的AC序列的分数。
分数为这个AC序列中所有数的和。
序列(英语:Sequences)在数学中是指被排成一列的对象或事件;这样,每个元素不是在其他元素之前,就是在其他元素之后。元素之间的顺序非常重要,其中常见的就是排成一列的数,即数列。
AC狗星的社会里有一种特殊数列,这种数列每条AC狗都知道,因为在他们的小学阶段就会学,这种序列称为AC序列。
简单来说,对于任意一个序列{a},从中选出尽可能多的数,按照在序列{a}中的相对位置形成新的序列{b},并且序列{b}满足$b_1<=b_2<=b_3<=⋯b_i<=b_{i+1}<=⋯<=b_n$,则称{b}序列是一个AC序列。AC序列可能不唯一,但是AC序列的长度唯一。
给定一个序列,序列中有$N$个**个位数**,求每个数以该数结尾的AC序列的分数。
分数为这个AC序列中所有数的和。
输入格式
第一行,$1$ 个数 $N(1<=N<=10000000)。$
第二行,$N$ 个数。
第二行,$N$ 个数。
输出格式
输出为一行,共$N$个数,分别表示以每个数结尾的AC序列分数。
输入输出样例
输入 #1
5 1 2 8 7 9
输出 #1
1 3 11 10 20
说明/提示
对于第$1$个数,AC序列为$1$,分数为$1$
对于第$2$个数,AC序列为$1,2$,分数为$3$
对于第$3$个数,AC序列为$1,2,8$,分数为$11$
对于第$4$个数,AC序列为$1,2,7$,分数为$10$
对于第$5$个数,AC序列为$1,2,8,9$,分数为$20$
若AC序列不唯一,则选择序列下标字典序较小的那一个。
对于第$2$个数,AC序列为$1,2$,分数为$3$
对于第$3$个数,AC序列为$1,2,8$,分数为$11$
对于第$4$个数,AC序列为$1,2,7$,分数为$10$
对于第$5$个数,AC序列为$1,2,8,9$,分数为$20$
若AC序列不唯一,则选择序列下标字典序较小的那一个。