zoukankan      html  css  js  c++  java
  • Tribles UVA

    Miku


    首先我们要知道,如果一个毛虫死亡的概率是P,那么两个毛球死亡概率就是(p^2)

    然后对于定义dp[i]表示一只毛球死在i天的可能性,就可以得到递推式

    (dp_i=p_0+p_1*dp_{i-1}+p_2*(dp_{i-1})^2+····p_{n-1}*(dp_i-1)^{n-1})
    其中为什那么会有一堆指数呢?原因如上

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cmath>
    using namespace std;
    int t;
    int n,k,m;
    double p[1001];
    int x;
    double dp[1001];
    int main(){
    	scanf("%d",&t);
    	x=t;
    	while(t--){
    	//	cout<<t<<endl;
    		scanf("%d%d%d",&n,&k,&m);
    		for(int i=0;i<n;++i)
    			scanf("%lf",&p[i]);
    		dp[0]=0;
    	//	cout<<"LL";
    		dp[1]=p[0];
    		for(int i=2;i<=m;++i){
    			dp[i]=0;
    			for(int j=0;j<n;++j){
    				dp[i]+=p[j]*pow(dp[i-1],j);
    			}
    		}
    		printf("Case #%d: %.7lf
    ",x-t,pow(dp[m],k));
    	}
    	return 0;
    } 
    
    
  • 相关阅读:
    文件的增删改查
    集合的使用
    字典的使用
    字符串常用操作
    简单购物车程序练习题
    列表
    数据运算数据类型与
    模块初识
    数据库时间设置
    ubuntu 修改时区
  • 原文地址:https://www.cnblogs.com/For-Miku/p/13763124.html
Copyright © 2011-2022 走看看