D. 塔子月赛1-第四题-塔子的数数题

塔子月赛1-第四题-塔子的数数题

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目内容

塔子哥参加了2023的春招全过程。在这些做过的题目里,有一类题目出现的非常多,那就是数数题 。现在塔子哥闭上眼睛都是这些题。能解决这个问题的唯一办法就是自己出一道数数题!这个数数题描述为:

给定一个序列aa , 这个序列的元素有两种状态 , 对于第ii个元素aia_i 和其状态sis_i:

1.如果a1,a2,...ai1a_1,a_2,...a_{i-1}存在下标jj 使得aj=aia_j = a_i , 那么:

1.1 如果a1,a2,...ai1a_1,a_2,...a_{i-1} 中存在下标jj 使得ajai=1|a_j - a_i| = 1 , 那么其状态sis_i11

1.2 否则,其状态sis_i00

2.否则 si=sjs_i = s_j

对于一个序列aa , 我们令度d(a)=i=1asid(a) = \sum_{i=1}^{|a|} s_i 。 塔子哥想问,给定一个多重集SS,其所有可能排列的度之和是多少?即求解

aP(S)d(a)\sum_{ a \in P(S)} d(a)

答案可能很大,请对1e9+71e9+7 取模!

输入描述

第一行输入一个整数n(1n1e5)n(1 \leq n \leq 1e5), 代表多重集大小

第二行输入nn个整数si(1ai1e15)s_i (1 \leq a_i \leq 1e15), 代表集合的元素(可能存在重复)

输出描述

输出一行代表集合的所有排列的之和。

数据范围说明

nn sis_i 占比
8\leq 8 [1,100][1,100] 50%50\%
100\leq 100 75%75\%
1e5\leq 1e5 [1,1e15][1,1e15] 100%100\%

样例1

输入

3
3 2 1

输出

10

样例解释

a1=[3,2,1],s1=[0,1,1],d(a1)=2a_1=[3, 2, 1] , s_1 = [0, 1, 1] , d(a_1) = 2

a2=[2,1,3],s2=[0,1,1],d(a2)=2a_2=[2, 1, 3] , s_2 = [0, 1, 1] , d(a_2) = 2

a3=[1,3,2],s3=[0,0,1],d(a3)=1a_3=[1, 3, 2] , s_3 = [0, 0, 1] , d(a_3) = 1

a4=[2,3,1],s4=[0,1,1],d(a4)=2a_4=[2, 3, 1] , s_4 = [0, 1, 1] , d(a_4) = 2

a5=[3,1,2],s5=[0,0,1],d(a5)=1a_5=[3, 1, 2] , s_5 = [0, 0, 1] , d(a_5) = 1

a6=[1,2,3],s6=[0,1,1],d(a6)=2a_6=[1, 2, 3] , s_6 = [0, 1, 1] , d(a_6) = 2

答案为2+2+1+2+1+2=10答案为 2 + 2 + 1 + 2 + 1 + 2 = 10

样例2

输入

3
1 1 2

输出

4

样例解释

a1=[1,1,2],s1=[0,0,1],d(a1)=1a_1=[1, 1, 2] , s_1 = [0, 0, 1] , d(a_1) = 1

a2=[2,1,1],s2=[0,1,1],d(a2)=2a_2=[2, 1, 1] , s_2 = [0, 1, 1] , d(a_2) = 2

a3=[1,2,1],s3=[0,1,0],d(a3)=1a_3=[1, 2, 1] , s_3 = [0, 1, 0] , d(a_3) = 1

答案为1+2+1=4答案为 1 + 2 + 1 = 4

塔子月赛第一场-丰厚奖金+送会员

Not Attended
Status
Done
Rule
IOI
Problem
4
Start at
2023-5-20 19:00
End at
2023-5-20 21:00
Duration
2 hour(s)
Host
Partic.
93