hdu 5570 期望 概率詳解

2021-07-08 12:19:48 字數 1477 閱讀 3017

題目:

num[j] 表示 顏色為 j 的球的個數,題目要求 sum(num[j]^2)  0 < j <= m

b[i][j] 表示 i 球顏色為 j 的概率。不同球的顏色是互不影響的,所以直接相加就是 個數 ,所以

num[j] = sum(b[i][j])  = b[1][j] + b[2][j] .... + b[n][j]   (0 < i <= n)    

然後求 num[j]^2  。  如果直接 對上面的式子平方 顯然是錯誤的。

因為 num[j]^2 可以 看作 倆組 球 能組成幾對,如:

球編號: 1 2 3 4 

球編號: 5 6 7 8        1號球能和5 6 7 8 組對即1×4,2號也一樣1×4,所以一共 4^2。如果換成概率就是1好球的概率乘上下面每個球的概率,加上2號乘......

而我們 num[j]^2 中 的 兩組球 是 相同的 兩組  

球編號: 1 2 3 4 

球編號: 1 2 3 4      上面的1和下面的2 組對時仍然是1的概率乘上2的概率,但是 1 和 1 組隊時,卻不是。 當我們確定球1為顏色j時,下面的球1已經確定了為顏色j,即其概率為1

因此 num[j]^2 = b[1][j]*1 + sum(b[1][j]*b[i][j]) (0在每個sum 中 都可以提出 公因式, 第乙個提出  b[1][j] 第二個提出b[2][j].....第n個提出b[n][j]

num[j]^2 = b[1][j]*1  + sum(b[i][j])*b[1][j] (0因此可以令 sump = sum(b[i][j]) (0則 num[j]^2 = b[1][j]*1  + (sump - b[1][j])*b[1][j]  .....+b[n][j]*1  + (sump-b[n][j])*b[n][j] 

ans = sum(num[j]^2) (0 < j <= m)

#include#include#include#includeusing namespace std;

#define ms(x,y) memset(x,y,sizeof(x))

void fr()

typedef long long ll;

int _map[1005][1005],dp[1005][1005];

int calc(int x,int y)

if(x-2>0)minn = min(minn,dp[x-2][y]+_map[x-1][y]*_map[x][y]);

return minn;

}int a[1005][1005];

double b[1005][1005];

int main()

for(j = 1; j <= m; j++)b[i][j] = a[i][j]*1.0/sum[i];

}for(j = 1; j <= m; j++)

printf("%.2lf\n",ans);

}return 0;

}

Hdu 5570 概率期望

有n個小球,他們的顏色可能是m種顏色中的一種。給出二維表s,第i個球顏色為第j種顏色的概率為s i j sum s i k 0 概率期望類的問題,問題的關鍵在於將x 2的貢獻轉化為顏色相同的小球的對數 注意 x,y y,x 算兩對,x,x 也算一對 問題轉化為求解n個小球中顏色相同的小球的對數的期望...

HDU 3853 期望概率DP

期望概率dp簡單題 從 1,1 點走到 r,c 點,每走一步的代價為2 給出每乙個點走相鄰位置的概率,共3中方向,不動 x,y x y p x y 0 右移 x y x y 1 p x y 1 左移 x y x 1 y p x y 2 問最後走到 r,c 的期望 dp i j 為從 i j 點走到 ...

概率論09 期望

描述量 描述隨機變數最完備的方法是寫出該隨機變數的概率分布。然而,正如我們在前面章節看到的,概率分布的表達往往都比較複雜,資訊量很大。這如同我們購置汽車的時候,一輛汽車的全面資料可以說是海量的,比如汽車尺寸,油箱大小等等。我們選擇一輛汽車時,往往只使用有限的幾個具有代表性的量來代表汽車的主要特徵,比...