程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> Uva 11021-Tribles(概率+遞推)

Uva 11021-Tribles(概率+遞推)

編輯:C++入門知識

Uva 11021-Tribles(概率+遞推)


題目鏈接:點擊打開鏈接

題意:k只麻球,每活一天就會死亡,但第二天可能會生一些麻球,具體是 生i個麻球的概率為pi ,求m天後所有麻球都死亡的概率。

思路:考慮全概率公式,求k只麻球m天後全死亡 ,因為死亡是獨立事件,應用乘法 ,ans= f[m] ^k ,f[m] 為一只麻球m天後均死亡的概率。對於第i天,

f[i]=p0+p1*f[i-1]^1 +p2*f[i-1]^2 +...p(n-1)*f[i-1]^(n-1) (就是讓i-1天所有的出生的麻球全部死亡,那麼第i天麻球就沒了。。)

最終答案是 f[m]^k.

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define maxn 1<<12
#define _ll __int64
#define ll long long
#define INF 0x3f3f3f3f
#define Mod 1000000007
#define pp pair
#define ull unsigned long long
using namespace std;
double f[1002],p[1002];
int n,m,k;
int main()
{
	int T,cas=1;
	scanf("%d",&T);
	while(T--)
	{
		scanf("%d%d%d",&n,&k,&m);
		for(int i=0;i

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved