日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Lights inside 3D Grid LightOJ - 1284 (概率dp + 推导)

發(fā)布時間:2023/12/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Lights inside 3D Grid LightOJ - 1284 (概率dp + 推导) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Lights inside 3D Grid LightOJ - 1284


題意:
在一個三維的空間,每個點都有一盞燈,開始全是關(guān)的,
現(xiàn)在每次隨機選兩個點,把兩個點之間的全部點,開關(guān)都按一遍;問k次過后開著的燈的期望數(shù)量;

題解:對每個點 單獨計算貢獻,即k次過后每個點開關(guān)被按了奇數(shù)次的期望
對于每個點來說,要使得該點開關(guān)被按過,那么選擇的兩個點不能在該點的同側(cè),即三個方向上都在兩側(cè)
這樣的概率為$P = \frac{(X \cdot X - (i - 1) \cdot (i - 1) - (X - i) \cdot (X - i))} {X \cdot X} \cdot Y方向上的 \cdot Z方向上的 $
現(xiàn)在計算k次過后開關(guān)被按了奇數(shù)次的期望,定義f(K)為所求,則有遞推如下
\(f(K) = (1 - P)\cdot f(K - 1) + P \cdot (1 - f(K-1))\)
化簡得\(f(K) = \frac{1 - (1-2p)^K}{2}\)

#include<bits/stdc++.h> #define LL long long using namespace std; const double eps = 1e-6;double cal(int limit,int x){return (1.0 * limit * limit - (x - 1) * (x - 1) - (limit - x) * (limit - x)) / limit / limit; } double qpow(double x,int y){double ans = 1;while(y){if(y & 1) ans = ans * x;x = x * x,y >>= 1;}return ans; } int main() {int T, cas = 1;cin>>T;while(T--){int X,Y,Z,K;scanf("%d%d%d%d",&X,&Y,&Z,&K);printf("Case %d: ",cas++);double ans = 0;for(int i = 1;i <= X;i++)for(int j = 1;j <= Y;j++)for(int z = 1;z <= Z;z++){double p = cal(X,i) * cal(Y,j) * cal(Z,z);ans += (1 - qpow(1 - 2 * p,K))/ 2;}printf("%.12lf\n",ans);}return 0; }

轉(zhuǎn)載于:https://www.cnblogs.com/jiachinzhao/p/7205184.html

總結(jié)

以上是生活随笔為你收集整理的Lights inside 3D Grid LightOJ - 1284 (概率dp + 推导)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。