zoukankan      html  css  js  c++  java
  • BZOJ4832: [Lydsy2017年4月月赛]抵制克苏恩

    传送门

    题目大意:

    攻击k次,每次可攻击随从或英雄。

    随从数不大于7个,且1滴血的a个,2滴b个,3滴c个。

    攻击一次血-1,如果随从没死可以生成3滴血随从一个

    题解:

    概率/期望dp

    f[i][j][p][q]表示攻击i次,一滴血的有j个,二滴血的有p个,三滴血的有q个。

    转移就是枚举打在谁身上

    代码:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    
    int t,a,b,c,k;
    
    double f[55][8][8][8]; 
    
    int main(){
        scanf("%d",&t);
        f[i][j][p][q]//攻击了i次,一滴血的j个,二滴血的p个,三滴血的q个 
        while(t--){
            scanf("%d%d%d%d",&k,&a,&b,&c);
            memset(f,0,sizeof(f));
            f[0][a][b][c]=1.;
            double ans=0.;
            for(int i=0;i<k;i++){
                for(int j=0;j<=7;j++){
                    for(int p=0;p<=7;p++){
                        for(int q=0;q<=7;q++){
                            if(j+p+q>7)break;
                            f[i+1][j][p][q]+=f[i][j][p][q]/(j+p+q+1);
                            ans+=f[i][j][p][q]/(j+p+q+1);
                            if(j+p+q==7){
                                if(j)f[i+1][j-1][p][q]+=f[i][j][p][q]*j/(j+p+q+1);  
                                if(p)f[i+1][j+1][p-1][q]+=f[i][j][p][q]*p/(j+p+q+1);//攻击二滴血的,二滴血的-1,一滴血的+1 
                                if(q)f[i+1][j][p+1][q-1]+=f[i][j][p][q]*q/(j+p+q+1);
                            }else{
                                if(j)f[i+1][j-1][p][q]+=f[i][j][p][q]*j/(j+p+q+1);
                                if(p)f[i+1][j+1][p-1][q+1]+=f[i][j][p][q]*p/(j+p+q+1);
                                if(q)f[i+1][j][p+1][q]+=f[i][j][p][q]*q/(j+p+q+1);//攻击三滴血的-1,二滴血+1,三滴血+1 
                            }
                        }
                    }
                }
            }
            printf("%.2f
    ",ans);
        }
        return 0;
    }
    AC
  • 相关阅读:
    Linux基础命令—网卡
    SHOW SLAVE STATUS解读
    perf工具crash的问题
    python学习之-requests模块基础
    DELL IDRAC API接口开发文档翻译及client模块
    cobbler ks文件解释--转载
    django学习之- 动态验证码学习
    django学习之- Ajax
    django学习之- modelForm
    django学习之- json序列化
  • 原文地址:https://www.cnblogs.com/zzyh/p/7799496.html
Copyright © 2011-2022 走看看