202109CSPT4收集卡牌

题意:有 n n n种不同的卡牌,每一次抽卡获得第 i i i种卡牌的概率为 p i pi pi。如果这张卡牌已经获得,就会转化为一枚硬币。可以用 k k k枚硬币交换一张没有获得过的卡。求获得所有种类的牌的概率。

#include<bits/stdc++.h>
using namespace std;
double dp[100][65636];//抽取层数,状态的概率 
double p[30];
int book[65636];
int n,k;
double dfs(int level,int state,int need)
{
    if((n-need)*k<=level-need)//层数大于剩余数*k就退出 
    return level;
    double ans=0;
    for(int i=0;i<n;i++)
	{
        if(book[i]==0)//没有选过这种卡牌 
		{
            book[i]=1;
            if(dp[level+1][state+(1<<i)]==0)
            dp[level+1][state+(1<<i)]=dfs(level+1,state+(1<<i),need+1);
            
			ans+=p[i]*dp[level+1][state+(1<<i)];
            book[i]=0;//树枝搜索结束后需要将标记清理,因为这是限制搜索应当一直向下 
        }
        else//重复选牌 
		{
            if(dp[level+1][state]==0)
            dp[level+1][state]=dfs(level+1,state,need);
            
			ans+=p[i]*dp[level+1][state];
        }
    }
    return ans;
}
int main()
{
	cin>>n>>k;
	for(int i=0;i<n;i++)cin>>p[i];
	double ans=dfs(0,0,0);
	printf("%.10lf\n",ans);
	return 0;
}

相关推荐

  1. 202109CSPT4收集

    2024-03-10 23:40:02       35 阅读
  2. CCF-CSP 202209-1 如此编码

    2024-03-10 23:40:02       49 阅读
  3. CSP 202209-2 何以包邮

    2024-03-10 23:40:02       30 阅读
  4. 游戏。

    2024-03-10 23:40:02       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-10 23:40:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-10 23:40:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-10 23:40:02       82 阅读
  4. Python语言-面向对象

    2024-03-10 23:40:02       91 阅读

热门阅读

  1. TypeScript的基础类型和高级类型梳理总结

    2024-03-10 23:40:02       42 阅读
  2. 安装pytorch省流版

    2024-03-10 23:40:02       39 阅读
  3. ArrayList 和 LinkedList 的区别是什么?

    2024-03-10 23:40:02       43 阅读
  4. 蓝桥集训之牛的基因学

    2024-03-10 23:40:02       38 阅读
  5. 数据库与数据仓库关联和区别

    2024-03-10 23:40:02       42 阅读
  6. 关联拼接字段SQL

    2024-03-10 23:40:02       44 阅读
  7. Redis使用实战经验(一)

    2024-03-10 23:40:02       47 阅读
  8. PyTorch学习笔记(一)

    2024-03-10 23:40:02       51 阅读
  9. ubuntu 中进入python 编辑如何退出到命令行

    2024-03-10 23:40:02       35 阅读