比賽 DP入門

2021-10-17 19:42:33 字數 1396 閱讀 9142

題目描述

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

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

如果解決不了她呢?

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

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

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

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

輸入描述:

第一行12個數表示a[1] -> a[12]

第二行12個數表示b[1] -> b[12]

第三行12個數表示c[1] -> c[12]

輸出描述:

輸出13行,第i行表示解出i-1題的概率

保留6位小數

示例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

ac**:

#include

#include

using

namespace std;

double a[14]

,b[14

],c[14]

,d[14];

double dp[14]

[14];

intmain()

dp[0]

[0]=

1;for(

int i =

1; i <=

12; i ++

)for

(int j =

0; j <= i; j ++

) dp[i]

[j]= dp[i-1]

[j-1]*

(1- d[i]

)+ dp[i-1]

[j]* d[i]

;for

(int i =

0; i <=

12; i ++

)printf

("%.6f\n"

,dp[12]

[i])

;}

拔河比賽 DP

description 乙個學校舉行拔河比賽,所有的人被分成了兩組,每個人必須 且只能夠 在其中的一組,要求兩個組的人數相差不能超過1,且兩個組內的所有人體重加起來盡可能地接近。input 輸入資料的第1行是乙個n,表示參加拔河比賽的總人數,n 100,接下來的n行表示第1到第n個人的體重,每個人的...

DP 拔河比賽

乙個學校舉行拔河比賽,所有的人被分成了兩組,每個人必須 且只能夠 在其中的一組,要求兩個組的人數相差不能超過1,且兩個組內的所有人體重加起來盡可能地接近。input 輸入資料的第1行是乙個n,表示參加拔河比賽的總人數,n 100,接下來的n行表示第1到第n個人的體重,每個人的體重都是整數 1 wei...

DP 拔河比賽

乙個學校舉行拔河比賽,所有的人被分成了兩組,每個人必須 且只能夠 在其中的一組,要求兩個組的人數相差不能超過1,且兩個組內的所有人體重加起來盡可能地接近。輸入資料的第1行是乙個n,表示參加拔河比賽的總人數,n 100,接下來的n行表示第1到第n個人的體重,每個人的體重都是整數 1 weight 45...