機率與指望詳解!一次精通oi中的機率指望

@(指望與機率)設計

基礎概念

  • 隨機變量:有多種可能的取值的變量
    萬物均可以當作隨機變量,包括常數,方便用\(\sum\)統計
  • P(A):事件 A 發⽣的機率
  • E(X):隨機變量 X 的指望值,\(E(X)=Sum[ P(X=i)*i ]\)
  • 獨⽴事件:互相不影響的事件3d

    指望不相關可積性

    \(E(xy)=E(x)*E(y)\)\(x\)\(y\)互相獨立遞歸

    經常使用技巧

  • 對於離散變量 X,\(P_{(X=K)}=P_{(X\le K)}-P_{(X\leq K-1)}\)遊戲

    指望線性性

\(E(x+y)=E(x)+E(y)\) 任意\(x,y\)
\[E(x+y)=\sum_i \sum_j P(x=i,y=j)(i+j)\]
\[\sum_i \sum_j P(x=i,y=j) i\]事件

\[=\sum_i i P(x=i)\]ip

j同理ci

獲得
\[\sum_iiP(x=i)+\sum_jjP(x=j)\]it

\[=\sum_i \sum_j P(x=i,y=j) i+\sum_i \sum_j P(x=i,y=j) j\]class

\[\sum_i \sum_j P(x=i,y=j)(i+j)\]

\[=E(x+y)\]

最大值不超過Y的指望

在1~s的數中隨機:

\[E(y)=\sum_i i P(y=i)\]

\[=\sum_i i (P(y<=i) - P(y<=i-1))\]

\[=\sum_i i((\frac{i}{s})^n-(\frac{i-1}{s})^n)\]

機率爲P時指望成功次數

答案:指望爲\(\frac{1}{p}\)次後發生

設X爲次數

即證實\(E(x)=\frac{1}{p}\)

解1、\[P(x=i)=(1-p)^{i-1}*p\]
解2、\[P(x>=i)-P(x>=(i+1))=(1-p)^{i-1}*p\]

只用管前幾回都失敗了

\[P(x>=i)= (1-p)^{i-1}\]

\[\sum _{i=1}^{inf} ((1-p)^{i-1} -(1-p)^{i})*i\]

對於每一個\((1-p)^i\),只有兩個,一個係數i,一個係數i+1
即原式等於

\[\sum_{i=0}^{inf} (1-p)^{-i}\]

此時運用前面等比數列到+inf的公式

\[=\frac{1}{1-(p-1)}\]

\[=\frac{1}{p}\]

基礎問題

拿球

放回與不放回都同樣

定義

\[E(s)=\sum _i E(x_i) = E(\sum _i y_i*i) =\sum _iE(y_i*i)\]

也即

\[E(s)=T*\sum_i E(i) = \frac{m*(n+1)}{2}\]

其中
\[T=\sum E(y_i)=m\]
感性理解:每一個球沒有區別

隨機遊走

作指望題先找等價點,設置若干問題,再找不一樣點間E關係(只推下一步)解方程
或者設置一種,把全部狀況推完

  1. 鏈上游走,從一端到另外一端的指望步數
    \[E(y)=\sum _{i=1}^{n-1}X_i\] Xi爲隨機遊走i第一次走到i+1步數
    \[E(y)=\sum _{i=1}^{n-1}E(X_i)\]
    \[E(x_2)=1/2+1/2*(1+E(X_1)+E(X_2))\]
    \[E(x_i)=1/2+1/2*(1+E(X_{i-1})+E(X_i))=E(X_{i-1})+2\]
    \[E(y)=\sum _{i=1}^{n-1}E(X_i)=1+3+5+7+9+...=(n-1)^2\]
  2. 徹底圖上游走,一個點到另外一點的指望步數
    \(1/n-1\)機率成功(每次都能走到其餘每一個點)
    跟拋硬幣差很少,即每次\(1/n-1\)拋到正面,指望步數即爲\(n-1\)

  3. 2n點 徹底二分圖上游走,一個點到另外一點的指望步數

    A:到同側點步數
    B:異側點步數

    \[B=\frac{1}{n}+\frac{n-1}{n}*(B+2)\]

    \[A=(1+B)\]

    而後解一下方程?

  4. n點菊花圖遊走,根到x的指望步數
    \[E=\frac{1}{(n-1)}+\frac{(n-2)}{(n-1)}*(2+E)\]

    \[\frac{E}{(n-1)}=\frac{(2n-1)}{(n-1)}\]

    \[E=(2n-1)\]
  5. \(n\)點樹上游走,\(x\)\(y\)求指望步數
    \(y\)爲根
    \(f(x)\)\(x\)第一次到x父親的指望
    \(d[x]\)\(x\)度數
    \[f(x)=1/d[x]+1/d[x]*\sum_{i-1}^{d[x],i!=fa[x]}(1+f(son[x])+f(x))\]
    而後瞎JB搞DP
  6. 構造200個點無向圖,使得S到T指望 \(\ge1000000=100^3\)
    E1要是\(O(n^2)\),搞100點的鏈從S到T,而後S端點搞100點徹底圖即爲\(100^3\)

經典問題

  • 每次隨機⼀個 [1,n] 的整數,問指望⼏次能湊⻬全部數
    \[\sum_i n/i\]
    每次設已經抽出\(n-1\)個,要抽出沒抽過的,成功機率\((n-i+1)/n\),指望次數爲\(n/(n-i+1)\)
    而後反過來枚舉就行(式子比較簡單)

  • 隨機⼀個⻓度爲 \(n\) 的排列\(p\),求 \(p[1…i]\)\(p[i]\) 是最⼤的數的機率

    首先,\(i\)後面的數不影響答案
    而後只要i取到長度爲i的排列的最大的數就能夠,前面怎麼樣都會比他小
    顯然\(1/i\)

  • 問滿⾜上⾯那個題的 i 的個數的平⽅的指望
    \[\sum_{i!=j}1/ij+\sum_i 1/i\]
    \(X_i\)爲i爲是否知足條件的指望
    顯然X_i只有兩種取值,0和1
    就有\[x=\sum_i^nX_i\]

    \[E(x^2)=E((\sum _i^nX_i)^2)\]

    \[=E(\sum_i^n\sum_j^{n,i!=j}X_i*X_j+\sum_i^nX_i^2=X_i)\]

    拆E,

    \[=\sum_i^n\sum_j^{n,i!=j}E(X_i*X_j)+\sum_i^nE(X_i)\]

    第一項,\(i\)不影響\(j\),直接套用3的機率乘一下
    第二項更簡單,直接求和

  • 隨機⼀個⻓度爲 n 的排列 p,求 i 在 j 的後⾯的機率
    \[\frac{1}{2}\]
  • 隨機⼀個⻓度爲 n 的排列 p,求它包含 w[1…m] 做爲⼦序列/連續⼦序列的機率
    第一問,
    \[\frac{(n-m)!}{n!}*C(n,m) = \frac{1}{m!}\]

    第二問:
    取m個位置,第一個位置\(n\)種,第二個位置\(n-1\)種,乘到\(n-m+1\)

    在這m個位置中選正確\(w_i\)的機率即爲\[\prod_{i=n-m+1}^n \frac{1}{i}= \frac{(n-m)!}{n!}\]
    而後枚舉開頭位置,顯然\(n-m+1\)個位置
    \[\frac{(n-m+1)!}{n!}\]

  • 有 n 堆⽯頭,第 i 堆個數爲 a[i],每次隨機選⼀個⽯頭而後把那⼀整堆都扔了,求第 1 堆⽯頭指望第⼏次被扔
    \[1+\sum_{i=2}^nP(A[i]<A[1])\]

    \(P(A[i]<A[1])=a[i]/(a[i]+a[1])\)
  • 隨機⼀個⻓度爲 n 的01串,每一個位置是 1 的機率是 p ,定義 X 是每段連續的 1 的⻓度的平⽅之和,求E[X]

    定義\(X_i,Y_i\)
    \(0->Y_{i+1}=0,X_{i+1}=X_i\)
    \(1->Y_{i+1}=Y_{i}+1,X_{i+1}=X_i-Y_i^2+(Y_i+1)^2=X_i+2Y_i+1\)
    要求的是\(E(X_n)\)
    相似的,
    \[E(X_n)=p*(E(X_{n-1})+2*E(Y_{n-1}+1))+(1-p)*E(X_{n-1})\]

    \[E(Y_n)=p*(1+E(Y_{n-1}))+(1-p)*0\]
  • 給⼀個序列,每次隨機刪除⼀個元素,問 i 和 j 在過程當中相鄰的機率、

    即爲\(i~j\) 中間的數排列,\(i,j\)在最後的方案數除以總數
    \[(j-i-1)!*2/(j-i+1)!\]
    \[=2/(j-i)*(j-i+1)\]
  • 給定⼀棵樹,將他的邊隨機⼀個順序後依次插⼊,求 u,v 指望何時連通

    假設路徑長度爲k,求路徑上的邊出現的最後一條的指望時間
    假設在第i次加邊時聯通
    \[\sum _k^{n-1} i*\frac{k!*C_{i-1}^{k-1}*(n-k-1)!}{(n-1)!}\]

    也能夠倒着來求機率指望

  • 給 1…n 這 n 個數,每次隨機選擇⼀個還在的數而且刪掉他的全部約數,求指望⼏次刪完

    題意:
    1. 隨機x,若是x沒有被標記,把x的約數所有標記
    2. 求指望選到幾個沒被標記的x
    3. 注意標記與刪不一樣,答案同樣,方便求機率

    定義\(E(x)\)爲是否在沒被標記前被刪掉的指望
    被刪掉的機率爲\(P(x),E(x)=\frac{1}{P(x)}\)
    \(P(x)=\frac{1}{floor(n/x)}\)(x的倍數要在他以後刪)
    而後就套路線性拆開相加就能夠了

指望線性性練習題

  • 給定 n 個硬幣,第 i 個硬幣的價值爲 w[i],每次隨機取⾛⼀個硬幣,得到的收益是左右兩個硬幣的價值的乘積,求指望總價值
    \[E(s)=\sum_{(i<j)}^n \frac{2}{(j-i+1)(j-i)}\]
  • 有 N 個數 a[1…N],每次等機率選出兩個數,而後合併成⼀個新的數放回來,獲得的收益是新的數的值,求總收益的指望
    \[E(s)=\sum_i^n E(x_i)*a_i\]
    \(x_i:a_i\)對答案的貢獻次數
    \[E(x_i)=\sum _{j=1}^{n-1} \frac{2}{n-j+1}\]
    即處理每次合併兩個團時是否選到i所在的團
    即在\(n-j+1\)個團中選兩個團,蒟蒻我只能\(n^2\)處理

  • 給定⼀個數列 W[1…N],隨機⼀個排列 H,若是 H[i] ⽐ H[i-1] 和 H[i+1] 都⼤,就得到 W[i] 的收益,求指望收益
    定義單次指望\(x_i\)
    \[E(s)=\sum_i^n x_i\]
    \[E(x_i)=w_i*P(h_i>max(h_{i-1},h_{i+1}))\]
    某老師:顯然P是三分之一啊。。。(?

    感性理解:每一個都平等,至少有一個最大值
  • 給出⼀棵樹,⼀開始每一個點都是⽩的,每次選⼀個⽩點將他⼦樹⾥全部點染⿊,求指望⼏次染⿊整個樹

    \(\sum 1/dep[i]\) 他祖先的點要在以前刪

  • 有 N 個⿊球,M個⽩球,每次等機率取出⼀個球(不放回),將取出來的球的顏⾊寫成⼀個01序列,求 」01」 的指望出現次數

    指望次數即爲這個球和上一個球不一樣的次數

    在2~n+m這n+m-1個數中,考慮第i個數爲1,機率爲\(\frac{n}{n+m-1}\)
    而後考慮第i-1個爲0,機率爲\(\frac{m}{n+m}\)
    乘起來獲得\(m*n/(m+n)\)
    (我有點不會,待填坑

例題選講

三維凸包點數指望啥的我就不寫了,我也不會

noip2016換教室

\(X_i\) 第i節課~第i+1節課的距離
老套路,
\[E_s= \sum_{i=1}^{n-1}E(X_i)\]

0爲不申請,1爲申請
每種狀況,令
0 0 \[d_1=dis[c_i][c_{i+1}]\]
1 0 \[d_2=(1-k_i)*dis[ci][c_{i+1}]+k_i*dis[d_i][c_{i+1}]\]
0 1 \[d_3=(1-k_{i+1}) dis[c_i][c_{i+1}] +k_{i+1}*dis[c_i][d_{i+1}]\]
1 1 \[d_4=(1-k_i)*(1-k_{i+1}) dis[c_i][c_{i+1}]+(1-k_i)k_{i+1}*dis[c_i][d_{i+1}]+(1-k_{i+1})k_i*dis[d_i][c_{i+1}]ki+k_i*k_{i+1}dis[d_i][d_{i+1}]\]

設計狀態 \(f[i][j][0/1]\)爲第i個教室,換了j次的指望長度,n*m 搞dp

此次換:\(f[i][j][1]=max(f[i-1][j-1][0]+d2,f[i-1][j-1][1]+d4)\)
此次不換:\(f[i][j][0]=max(f[i-1][j][0]+d1,f[i-1][j][1]+d3)\)
d1d2d3d4每次算,floyed預處理dis

區間交

(區間交定義:\(l_2<=r_1\))
考慮枚舉 \(l2\)\(r1<l2\)
\(g_r\) 爲右端點 \(=r\) 的機率
\[g_r=\sum_{l<=r} P(l,r)\]

其中,\[P(l,r)= \frac{1}{n}*\frac{1}{n-l+1}\]

\(f\)\(g\) 前綴和,枚舉 \(l_2\) ,則有
\[P(r_1\leq l_2)=\sum _{i=1}^{l_2}g_i=f_{l_2}\]

因而再對 \(f\) 求和就能夠了

0-1邊樹求直徑指望

n<=200,設直徑爲s

\[E(s)= \sum P(s=k)*k\]

\[ = \sum_k P(s=k)*\sum _{j=1}^k 1\]

\[=\sum_j 1* \sum_k^{k>=j} P(s=k)\]

\[=\sum_j P(s>=j)\]

\[P(s>=j)=1-P(s<j)\]

\(f[x][i]\)表示x點,直徑\(<j\)機率

轉移用樹形\(On^2\) dp

即對於當前子樹,枚舉全部兒子遞歸處理
處理獲得每一個兒子的f後兩層枚舉兒子的組合,再枚舉深度,求出深度之和以及對應的機率

老師說這四O(n^2)的,可能我沒理解到⑧

球染色

江下題意,

\(n\)個球,⼀開始顏⾊是\(c[1…n]\),每次隨機⼀對數\((i,j)\)
\(c[j]=c[i]\),求讓\(c\)所有相同的指望步數

\(x->x\) \(p_0\)
\(notx->x\) \(p_0\)
\(x->not x\) \(p_{-1}\)
\(not x ->x\) \(p_1\)

即 每種機率對應狀況:
\(p_0\) :不影響
\(p_1\): 多一個
\(p_{-1}\)少一個
考慮\(f(x)\)爲已經有\(x\)個匹配,要變成(便乘\(n\)個的指望步數
顯然,\(f(n)=0;\)
對於\(a!=n\),有\[f(a)=p_0(1+f(a))+p_{-1} (1+f(a-1))+p_1(1+f(a+1))\]

而後移項使得能夠把\(i-2,i-1\)轉移到 \(i\) \(O(log_n)\) 矩陣快速冪

至於我爲何不寫轉移矩陣呢?懶
(其實我作矩陣題都要先列整齊的式子而後再回顧一下舉矩陣乘法是橫着的仍是豎着的而後再舉幾個例子才能推出來

區間翻轉

給定⼀個⻓度爲 n 的 01 串,每次隨機⼀個區間將⾥⾯全部
元素翻轉,求 m 次操做後 1 的指望個數

\[s=\sum x_i\]
其中\(x_i\)爲最後位置1或0

套路地運用線性性質,(下次我就不寫這個了,真jr難敲)
\[E(s)= \sum E(x_i)\]

\(P\)爲隨機區間包含某數機率,見上面另外一個區間題,最上面有目錄

定義狀態 \(f[i][1/0]\) 爲第第i次操做1/0的指望個數
邊界就是輸入

\(f[i][v]+=f[i-1][v xor 1]*P\)
\(f[i][v]+=f[i-1][v]*(1-P)\)

有點口胡,可是看上去挺正確的哈

二位&三維凸包點數指望

給 n 個點,隨機選⼀個點集,求⼆維/三維凸包的指望點數

啥 是 凸 包 是 啥 (光速逃

好像據說能夠枚舉邊而後判斷半平面/線段是否只有一邊有點?
不會,壞時代,來臨力!(悲)

單選錯位

\(n\) 道題,第 \(i\) 題有 \(a[i]\) 個選項,標號是\(1…a[i]\),如今你認
真作完且徹底作對了這 \(n\) 題,可是抄答題卡時錯位了,將
\(i\) 題的答案抄到了第\(i%n+1\)題上,如今你想知道,在題⽬正確答案選項隨機的狀況下,你期
望能對⼏道
\(n,a[i]\leq10^7\)

如上,\(E(s)= \sum E(x_i)\)
\(X_i\)爲交換後第i題對不對,爲\(0/1\)

顯然,\(A_i\)中的取值與\(A_{i+1}\)中的取值無瓜,能夠乘起來

因而考慮 \(i\) 對答案的貢獻,交換後答案有\(min(A_i,A_j)\)種答案,\(j\)\(i \pmod n+1\)

\[E(i)=\frac{min(A_i,A_j)}{A_i*A_j}\]

而後求\(\sum E(i)\)就能夠力

KILL

⼀個遊戲有 n 個⼈,規則是這樣的:

  1. 隨機選擇⼀個還沒死的⼈,讓他活着離開
  2. 活着離開以前,他會向剩下全部⼈開⼀槍,有 p 的機率暴斃
    重複以上步驟直到全部⼈要麼死了要麼離開了

求⼀個⼈活着離開且⼀共被開了 k 槍的機率,\(n<=2000\)

定義狀態:\(f[i][j]\) 爲如今剩下\(i\)我的,前面有\(j\)我的(即開了 \(j\) 槍)

則有:

1.\(i\) 當場被前面的延遲子彈暴斃,\(j\) 不增長
\[f[i][j]*(1-(1-p)^j ) -->f[i-1][j]\]

2.\(i\) 是歐皇,遂開槍殺人
\[f[i][j]*(1-p)^j -->f[i-1][j+1]\]

初始:\(f[n][0]=1\),dp \(i\) 從大到小,\(j\) 從小到大枚舉

輸出答案對\(f[i][k]\)取max便可

後記

敲了挺久的吧。。typora統計字數有11000,提醒你們能夠分段敲,後面會很卡
可是敲一遍確實加深理解了,就是沒時間實現代碼(思考兩小時,代碼5分鐘

仍是江一下套路吧
先定義目標狀態指望\(E(s)\)
而後用線性性拆成若干個\(\sum E(x_{0,1,2,...})\)並分類
對於每一類找關係,同類求遞推式或者直接算的式子,有時候解一下方程
次數多的時候用相乘和線性關係分析化簡一下就能夠了

最後但願你們康的開心QwQ

敲的這麼辛苦,不點個贊or水條評論or關注一下馬?

相關文章
相關標籤/搜索