题解 |python 快速做法 组合恒等式 #小红的子序列权值和#

小红的子序列权值和

https://ac.nowcoder.com/acm/problem/269287

from collections import Counter
n = int(input())
C = Counter(map(int,input().split()))
a,b,c = C[1],C[2],C[3]
mod = 1000000007
r = pow(2,n-2,mod)
print((r*(b+2)*(c+2) - 1) % mod)
数学做法,利用组合恒等式

$ \Sigma_{i=0}^n (i+1)*C_n^i
= \Sigma_{i=0}^n i*C_n^i +  \Sigma_i^n C_n^i
=n*2^{n-1} + 2^n $

\Sigma_{i=0}^n (i+1)*C_n^i<br />= \Sigma_{i=0}^n i*C_n^i +  \Sigma_i^n C_n^i<br />=n*2^{n-1} + 2^n

全部评论
Orz,感谢大佬的宝贵方法。
1 回复 分享
发布于 2024-03-04 22:32 浙江

相关推荐

不愿透露姓名的神秘牛友
09-10 14:32
点赞 评论 收藏
分享
09-01 11:31
门头沟学院 Java
buul:七牛云的吧,感觉想法是好的,但是大家没那么多时间弄他这个啊。。。不知道的还以为他是顶尖大厂呢还搞比赛抢hc,只能说应试者的痛苦考察方是无法理解的,他们只会想一出是一出
点赞 评论 收藏
分享
09-10 18:19
门头沟学院 Java
点赞 评论 收藏
分享
评论
8
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务