from fractions import Fraction n,p,q = map(int,input().split()) mod = 10**9 + 7 # 计算组合 def C(n):     N=n     c = [[0] * (N+1)  for _ in range(N+1)]     c[0][0] = 1     for i in range(1,N+1):         c[i][0] = 1         for j in range(1,N+1):             c[i][j] = c[i-1][j-1] + c[i-1][j]     return c c = C(n) P_pos = 0 P_neg = 0 for i in range(min(p,q),n+1):     if i >= p:         P_pos += c[n][i]     if i >= q:         P_neg += c[n][i] total = 2**n n_chan =  (P_pos * P_neg) // (total) # 求期望 exp = 0 for j in range(p,n+1):     exp += Fraction(j * (P_neg * c[n][j])) / Fraction(total*n_chan) num = exp.numerator den = exp.denominator print(int((mod+num)//den)) 这个取模好恶心,我认为要根据分子分母取模,结果只ac0.1
点赞 3

相关推荐

不愿透露姓名的神秘牛友
07-25 17:55
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务