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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

牛客网【每日一题】5月19日题目精讲 比赛

發(fā)布時間:2023/12/3 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 牛客网【每日一题】5月19日题目精讲 比赛 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

鏈接:

文章目錄

    • 題目描述
    • 題意
    • 題解:
    • 代碼

時間限制:C/C++ 1秒,其他語言2秒 空間限制:C/C++ 131072K,其他語言262144K 64bit IO Format: %lld

題目描述

你在打比賽,這場比賽總共有12個題

對于第i個題,你的隊伍有a[i]的幾率解決她

如果解決不了她呢?

由于所有人討論的都很大聲

所以你有b[i]的概率從左邊那個隊那里聽會這個題的做法

有c[i]的概率從右邊那個隊那里聽會這個題的做法

請問最終你們隊伍解出0-12題的概率分別是多少

輸入描述:

第一行12個數(shù)表示a[1] -> a[12] 第二行12個數(shù)表示b[1] -> b[12] 第三行12個數(shù)表示c[1] -> c[12]

輸出描述:
輸出13行,第i行表示解出i-1題的概率
保留6位小數(shù)
示例1
輸入
復制

0.20 0.30 0.37 0.40 0.45 0.50 0.57 0.60 0.75 0.76 0.77 0.83 0.85 0.88 0.90 0.94 0.100 0.104 0.105 0.107 0.115 0.120 0.122 0.125 0.128 0.130 0.134 0.140 0.149 0.150 0.152 0.155 0.170 0.183 0.203 0.240

輸出
復制

0.000000 0.000000 0.000000 0.000011 0.000160 0.001508 0.009620 0.041938 0.124153 0.243773 0.301960 0.212453 0.064424

題意

一開始看題目有點懵,12個題咋輸出十三個答案,后來才反應過來,第i行表示解出i-1題的概率,意思是把做出0~12個題的概率依次輸出,我原以為是第4題的概率
樣例中前三個都是0.000000,并不是概率為0,而是保留6位小數(shù),后面省略了

題解:

求第i題做出的概率可以正著求也可以逆著,逆著方便,先求做不出的概率,也就是q = ( 1 -a [ i ] ) *( 1 -b [ i ] ) * ( 1- c [ i ] ) ,(第i題我不會,左邊也沒聽到,右邊也沒聽到),做對的概率就是p= 1 - q
然后求 第i行表示解出i-1題的概率,典型的dp遞推
dp[i][j]表示前i個問題,咱做出j個題的概率
由第i-1個題地推過來,第i個題有可能做對,有可能做錯,加上對應的概率
dp[i][j]=dp[i-1][j](第i題沒對)+dp[i-1][j-1](第i題對了)
確保都是對了j個題

初始化dp[0][0]=1(你一個題都沒做當然都錯了,所以錯的概率是1)

代碼

#include<bits/stdc++.h> #define forr(n) for(int i=1;i<=n;i++) using namespace std; const int maxn=15; double a[maxn],b[maxn],c[maxn]; double dp[maxn][maxn]; double q[maxn],p[maxn]; int main(){forr(12) cin>>a[i];forr(12) cin>>b[i];forr(12) cin>>c[i];dp[0][0]=1;//初始化forr(12)q[i]= (1-a[i])*(1-b[i])*(1-c[i]);//失敗概率 forr(12)p[i]=1-q[i];//成功概率 forr(12){dp[i][0]=dp[i-1][0]*q[i];for(int j=1;j<=i;j++){dp[i][j]=dp[i-1][j-1]*p[i]+dp[i-1][j]*q[i];}}for(int i=0;i<=12;i++) printf("%.6f\n",dp[12][i]);return 0; }/*0.20 0.30 0.37 0.40 0.45 0.50 0.57 0.60 0.75 0.76 0.77 0.83 0.85 0.88 0.90 0.94 0.100 0.104 0.105 0.107 0.115 0.120 0.122 0.125 0.128 0.130 0.134 0.140 0.149 0.150 0.152 0.155 0.170 0.183 0.203 0.240*/

總結

以上是生活随笔為你收集整理的牛客网【每日一题】5月19日题目精讲 比赛的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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