目錄spa
@(指望與機率)設計
獨⽴事件:互相不影響的事件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)\]
在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)\]
答案:指望爲\(\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/n-1\)機率成功(每次都能走到其餘每一個點)
跟拋硬幣差很少,即每次\(1/n-1\)拋到正面,指望步數即爲\(n-1\)
2n點 徹底二分圖上游走,一個點到另外一點的指望步數
A:到同側點步數
B:異側點步數
\[B=\frac{1}{n}+\frac{n-1}{n}*(B+2)\]
\[A=(1+B)\]
而後解一下方程?
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)\]構造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,求它包含 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])\]
隨機⼀個⻓度爲 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})\]
給⼀個序列,每次隨機刪除⼀個元素,問 i 和 j 在過程當中相鄰的機率、
即爲\(i~j\) 中間的數排列,\(i,j\)在最後的方案數除以總數給定⼀棵樹,將他的邊隨機⼀個順序後依次插⼊,求 u,v 指望何時連通
假設路徑長度爲k,求路徑上的邊出現的最後一條的指望時間
假設在第i次加邊時聯通
\[\sum _k^{n-1} i*\frac{k!*C_{i-1}^{k-1}*(n-k-1)!}{(n-1)!}\]
也能夠倒着來求機率指望
給 1…n 這 n 個數,每次隨機選擇⼀個還在的數而且刪掉他的全部約數,求指望⼏次刪完
題意:定義\(E(x)\)爲是否在沒被標記前被刪掉的指望
被刪掉的機率爲\(P(x),E(x)=\frac{1}{P(x)}\)
則\(P(x)=\frac{1}{floor(n/x)}\)(x的倍數要在他以後刪)
而後就套路線性拆開相加就能夠了
有 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)\)
(我有點不會,待填坑
三維凸包點數指望啥的我就不寫了,我也不會
設\(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\) 求和就能夠了
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)\)就能夠力
⼀個遊戲有 n 個⼈,規則是這樣的:
求⼀個⼈活着離開且⼀共被開了 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關注一下馬?