問題描述
生成n個∈[a,b]的隨機整數,輸出它們的和為x的概率。
輸入格式
一行輸入四個整數依次為n,a,b,x,用空格分隔。
輸出格式
輸出一行包含乙個小數字和為x的概率,小數點後保留四位小數
樣例輸入
2 1 3 4
樣例輸出
0.3333
資料規模和約定
對於50%的資料,n≤5.
對於100%的資料,n≤100,b≤100.
問題分析:首先算每個數的概率為1.0/(a-b+1),dp[i][j]表示i個數和為j的概率,動態規劃的思想,那麼dp[i][j]就可以想成是i-1個數和為j-k時,再加k的情況,那麼就是從a到b每個數遍歷,即a<=k<=b,dp[i][j]就是所有滿足j-k>0的情況概率之和,因為只有j-k>0時,才能得到和為j的情況,每種情況的概率相加,就是最終dp[i][j]的概率;
#include#include#includeusing namespace std;
double dp[110][10000]; //dp[i][j]表示i個數的和為j的時候的概率
int main()} }
printf("%.4lf\n",dp[n][x]);
} return 0;
}
藍橋 演算法提高 概率計算
演算法提高 概率計算 時間限制 1.0s 記憶體限制 256.0mb 問題描述 生成n個 a,b 的隨機整數,輸出它們的和為x的概率。輸入格式 一行輸入四個整數依次為n,a,b,x,用空格分隔。輸出格式 輸出一行包含乙個小數字和為x的概率,小數點後保留四位小數 樣例輸入 2 1 3 4 樣例輸出 0...
藍橋杯演算法提高 概率計算(概率dp)
問題描述 生成n個 a,b 的隨機整數,輸出它們的和為x的概率。輸入格式 一行輸入四個整數依次為n,a,b,x,用空格分隔。輸出格式 輸出一行包含乙個小數字和為x的概率,小數點後保留四位小數 樣例輸入 2 1 3 4 樣例輸出 0.3333 資料規模和約定 對於50 的資料,n 5.對於100 的資...
藍橋杯 ADV 123 演算法提高 概率計算
演算法提高 概率計算 時間限制 1.0s 記憶體限制 256.0mb 問題描述 生成n個 a,b 的隨機整數,輸出它們的和為x的概率。輸入格式 一行輸入四個整數依次為n,a,b,x,用空格分隔。輸出格式 輸出一行包含乙個小數字和為x的概率,小數點後保留四位小數 樣例輸入 2 1 3 4 樣例輸出 0...