动态规划(算法竞赛、蓝桥杯)--概率DP求概率

1、B站视频链接:E39 概率DP 求概率_哔哩哔哩_bilibili

cdd1c64be1cb4df68fb0944eb699dcbe.png

题目链接:Bag of mice - 洛谷

d94a7ed80ceb4d29ba47d0e7d00a5839.png

#include <bits/stdc++.h> 
using namespace std;
int w,b;
double f[1010][1010];

int main(){
	scanf("%d%d",&w,&b);
	for(int i=1;i<=b;i++)f[0][i]=0;
	for(int i=1;i<=w;i++)f[i][0]=1;
	
	for(int i=1;i<=w;i++){//枚举白鼠 
		for(int j=1;j<=b;j++){//枚举黑鼠 
			f[i][j]+=(double)i/(i+j);
			if(i>=1&&j>=2){//防止越界 
				f[i][j]+=(double)j/(i+j)*(j-1)/(i+j-1)*i/(i+j-2)*f[i-1][j-2];			
			}
			if(j>=3){
				f[i][j]+=(double)j/(i+j)*(j-1)/(i+j-1)*(j-2)/(i+j-2)*f[i][j-3];
			}
		}
	}
	printf("%.9lf\n",f[w][b]);
	return 0;
}

3cc54d9c467d4902bd41080b18f6dbf3.png

fd65cde271be4891ad381a4052bad780.png

#include <bits/stdc++.h> 
using namespace std;
double p[130][130];
double f[0][130];

int main(){
	int n;
	while(scanf("%d",&n),n!=-1){
		int m=1<<n;//2的n次方 
		for(int i=0;i<m;i++){
			for(int j=0;j<m;j++){
				scanf("%lf",&p[i][j]);
			}
		}
	memset(f,0,sizeof(f));
	for(int i=0;i<m;i++)f[0][i]=1;//第0轮所有球队均胜 
	
	for(int i=1;i<=n;i++){//第i轮 
		for(int j=0;j<m;j++){//第j队 
			for(int k=0;k<m;k++){//对手队 
				if(((j>>(i-1))^1)==(k>>(i-1))){
					f[i][j]+=f[i-1][j]*f[i-1][k]*p[j][k];
				}
			}
		}
	}
	int ans;double mx=0;
	for(int i=0;i<m;i++){
		if(f[n][i]>mx)ans=i,mx=f[n][i];
	}
	printf("%d\n",ans+1);
}
	return 0;
}

 

 

相关推荐

  1. 算法基础(36)动态规划dp经典问题详解

    2024-03-13 05:10:02       28 阅读

最近更新

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

    2024-03-13 05:10:02       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-13 05:10:02       97 阅读
  3. 在Django里面运行非项目文件

    2024-03-13 05:10:02       78 阅读
  4. Python语言-面向对象

    2024-03-13 05:10:02       88 阅读

热门阅读

  1. 嵌入式学习day35

    2024-03-13 05:10:02       45 阅读
  2. openGauss gsql 常用元命令 一

    2024-03-13 05:10:02       33 阅读
  3. 3.11笔记2

    2024-03-13 05:10:02       30 阅读
  4. DevOps实战:Docker、Kubernetes与Jenkins的完美融合

    2024-03-13 05:10:02       41 阅读
  5. 爬虫(六)

    2024-03-13 05:10:02       35 阅读
  6. 【c++】运算符重载【赋值、关系、调用】

    2024-03-13 05:10:02       38 阅读
  7. React富文本编辑器开发(十)变换

    2024-03-13 05:10:02       41 阅读
  8. 力扣2834. 找出美丽数组的最小和

    2024-03-13 05:10:02       39 阅读
  9. springBoot mybatis-plus整合

    2024-03-13 05:10:02       34 阅读
  10. docker的快速入门教程

    2024-03-13 05:10:02       45 阅读