一道神奇的数论题

题面:

2807. [HZOI2017]你猜是不是期望

时间限制:3 s   内存限制:256 MB

【题目描述】

lc出去浪,发现了一大堆钻石,可是钻石在有规律地消失,lc想知道最后剩下钻石的价值。

给出p-1堆钻石,第i堆钻石含有i+1个不同的钻石.第i堆钻石有1/(i*(i+1))的概率不消失,每个钻石不消失的概率为1/2,.第i堆每个钻石权值为2^(i+1),求最后获得价值的期望。

lc很认真所以,他想知道精确答案,即在膜(orz lc)p意义下的结果。而且他经常去浪,所以会有多组数据。

【输入格式】

第一行包含一个整数T,表示数据组数。接下来T组数据。

每组数据只有一行一个数,表示p。

【输出格式】

共T行,每行输出在模p意义下的期望。

【样例输入】

3

3

5

7

【样例输出】

1

4

3

【数据范围与约定】

p为奇素数,且p<=4e7。

【来源】

HZOI 2017

题意:

求:$sum_{i=1}^{p-1}sum_{j=1}^{i}frac{dbinom{i+1}{j}cdot jcdot 2^{i+1}}{icdot (i+1)cdot 2^{i+1}} $

$Propertyquad one:$

$forall iin [1,p-1],iin Z,(p-1)^{underline {i}} equiv (-1)^{i-1}cdot (i-1)! pmod{p}$

$Propertyquad two:$

$dbinom{p-1}{i-1}equiv(-1)^{i-1} pmod{p}$

$Propertyquad three:$

$forall iin [1,frac{p-1}{2}],iin Z,dbinom{2i-1}{p-1}equiv -1 pmod{p}$

$Propertyquad four$

$dbinom{i}{j}cdot j=frac{i!}{j!cdot (j-1)!}cdot j=dbinom{i-1}{j-1}cdot i $

$quad sum_{i=1}^{p-1}sum_{j=1}^{i}frac{dbinom{i+1}{j}cdot jcdot 2^{i+1}}{icdot (i+1)cdot 2^{i+1}} $

$=sum_{i=1}^{p-1}sum_{j=1}^{i}frac{dbinom{i}{j-1}cdot (i+1)}{icdot (i+1)} $

$=sum_{i=1}^{p-1}sum_{j=1}^{i}frac{dbinom{i}{j-1}}{i}$

$=sum_{i=1}^{p-1}frac{2^{i}}{i}$

$equiv sum_{i=1}^{p-1}2^{i}cdot i^{p-2} pmod{p}$

到这里可以用快速幂$O(Tnlogn)$拿到$45$分

$quad 2^{i}cdot i^{p-2} $

$=(-1)^{i-1}cdot 2^{i}cdot dbinom{p-1}{i-1}cdot i^{p-2} $

$=(-1)^{i-1}cdot 2^{i}cdot frac{i}{p}cdot dbinom{p}{i}cdot i^{p-2}$

$=frac{(-1)^{i-1}}{p}cdot 2^{i}cdot dbinom{p}{i}cdot i^{p-1}$

$equiv -frac{1}{p}cdot (-2)^{i}cdot dbinom{p}{i} quad pmod{p}$

$quad sum_{i=1}^{p-1}2^{i}cdot i^{p-2}$

$=-frac{1}{p}(sum_{i=0}^{p}(-2)^{i}cdot dbinom{p}{i}-1+2^{p})$

$=-frac{1}{p}(2^{p}-1+(1-2)^{p})$

$=-frac{1}{p}(2^{p}-2)$

$quad sum_{i=1}^{frac{p-1}{2}}i^{p-2} $

$=-sum_{i=1}^{frac{p-1}{2}}dbinom{p-1}{2i-1}cdot i^{p-2} $

$=-frac{2}{p}sum_{i=1}^{frac{p-1}{2}}dbinom{p}{2i}cdot i^{p-1} $

$equiv -frac{2}{p}sum_{i=1}^{frac{p-1}{2}}dbinom{p}{2i} pmod{p}$

$equiv -frac{1}{p}(2^{p}-2) pmod{p}$

$equiv sum_{i=1}^{p-1}2^{i}cdot i^{p-2} pmod{p}$

$ans=sum_{i=1}^{frac{p-1}{2}}i^{p-2}$

$O(frac{p-1}{2}) $预处理每个$i$的逆元,然后求前缀和就可以了

时间复杂度$O(Tn)$

(PS:这个题和期望没有半点关系)

原文地址:https://www.cnblogs.com/radioteletscope/p/7535700.html