塔子月赛第一场-丰厚奖金+送会员
- 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
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.
1.根据加法原理 , 总答案ans可以被分成 不同值域的贡献的和。例如样例1中:
3的贡献是(从a1到a6): 0+1+0+1+0+1=3
2的贡献是(从a1到a6): 1+0+1+0+1+1=4
塔子哥参加了2023的春招全过程。在这些做过的题目里,有一类题目出现的非常多,那就是数数题 。现在塔子哥闭上眼睛都是这些题。能解决这个问题的唯一办法就是自己出一道数数题!这个数数题描述为:
给定一个序列a , 这个序列的元素有两种状态 , 对于第i个元素ai 和其状态si:
1.如果a1,a2,...ai−1 中不存在下标j 使得aj=ai , 那么:
1.1 如果a1,a2,...ai−1 中存在下标j 使得∣aj−ai∣=1 , 那么其状态si为1
1.2 否则,其状态si为0
2.否则 si=sj
对于一个序列a , 我们令度d(a)=∑i=1∣a∣si 。 塔子哥想问,给定一个多重集S,其所有可能排列的度之和是多少?即求解
a∈P(S)∑d(a)答案可能很大,请对1e9+7 取模!
第一行输入一个整数n(1≤n≤1e5), 代表多重集大小
第二行输入n个整数si(1≤ai≤1e15), 代表集合的元素(可能存在重复)
输出一行代表集合的所有排列的度之和。
n | si | 占比 |
---|---|---|
≤8 | [1,100] | 50% |
≤100 | 75% | |
≤1e5 | [1,1e15] | 100% |
输入
3
3 2 1
输出
10
样例解释
a1=[3,2,1],s1=[0,1,1],d(a1)=2
a2=[2,1,3],s2=[0,1,1],d(a2)=2
a3=[1,3,2],s3=[0,0,1],d(a3)=1
a4=[2,3,1],s4=[0,1,1],d(a4)=2
a5=[3,1,2],s5=[0,0,1],d(a5)=1
a6=[1,2,3],s6=[0,1,1],d(a6)=2
答案为2+2+1+2+1+2=10
输入
3
1 1 2
输出
4
样例解释
a1=[1,1,2],s1=[0,0,1],d(a1)=1
a2=[2,1,1],s2=[0,1,1],d(a2)=2
a3=[1,2,1],s3=[0,1,0],d(a3)=1
答案为1+2+1=4
本题属于以下题库,请选择所需题库进行购买