biubiu~~~
對於這道傻題.........我考場上退了乙個多小時才推出來這個東西是排列...........然後我打的dfs效率n!loginf正好n=9是最後乙個能過的數結果前三個點的n全是10,然後這題全場爆零.........
我在考場上試了很多種方法發現只有排列可以對樣例........解釋一下為什麼,乙個數自己對自己的位置造成影響的只有最後一次操作,而這些數的最後一次操作在時間軸上形成了排列,最終造成了最後那一堆書的排列,而他們每一種排列的概率也就是每一種最後一位結束順序的概率,就會趨近於我們平常正常求a所求出來的概率,所以我就列舉了每一種a.......
正解:我們不把狀態按排列分開,而是把最終答案分為每乙個數對他的貢獻,那麼每乙個數的貢獻就是最終排在他前面的數的個數的期望+1,而最終排在他前面的數的個數的期望就是除他以外的其他數每乙個數排在他前面的概率加和,假設我們研(一聲)究(一聲)一下j在i前面的概率我們發現對所有a,j排在i前面佔pi/(pi+pj)那麼我們就可以開心的o(n*n*loginf)求解了
#include #include#include
using
namespace
std;
typedef
long
long
ll;const ll n=1010
;const ll p=1000000007
;inline
void read(ll &sum)
ll n,p[n];
inline ll pow(ll x,ll y)
return
ret;
}int
main()
ll ans=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(j!=i)
ans=(ans+p[i]*p[j]%p*pow((p[i]+p[j])%p,p-2)%p)%p;
ans=ans+1
; ans%+p;
printf(
"%lld
",ans);
}
數學期望 NOIP模擬賽 連續段的期望
小 n 最近學習了位運算,她發現2個數xor之後數的大小可能變大也可能變小,and之後都不會變大,or之後不會變小。於是她想算出以下的期望值 現在有 n 個數排成一排,如果她隨意選擇一對 l,r並將下標在 l 和 r中間 包括 l r 的數 xor,and,or 之後,期望得到的值是多少呢?取出每一...
HDU3853 LOOPS 概率DP數學期望
題目大意 給出乙個n m的矩陣,要求從左上角走到右下角,每次移動消耗兩點能量,並且每次的移動方向是有概率的 回到自身,往右或者往下 輸入的矩陣中的每個位置有三個數,分別表示回到自身 向右移動 向下移動的概率,三者概率和為1,要求輸出從左上角走到右下角需要消耗的能量值的期望。測試資料可能有點問題,會出...
NOIP模擬題 小象塗色(概率 期望 遞推)
表示數學是個渣。其實只需要推出每個箱子k次以後的顏色為i的概率就能算出期望了。對於區間 l,r 的箱子因為是任意顏色且任意取,所以概率分別為1 c和1 2,那麼整體概率就為這兩個的乘積。根據全概率公式,對於後邊的狀態我們可以累加和就行了。求出概率後期望就是顏色編號 概率。暴力40分。o k n c ...