zoj3822 Domination 概率dp --- 2014 ACM-ICPC Asia Mudanjiang Regional Contest
来源:互联网 发布:c语言用while求次方 编辑:程序博客网 时间:2024/06/06 19:16
一个n行m列的棋盘,每次可以放一个棋子,问要使得棋盘的每行每列都至少有一个棋子 需要的放棋子次数的期望。
dp[i][j][k]表示用了k个棋子共能占领棋盘的i行j列的概率。
那么对于每一颗棋子,在现有的棋盘上,它可能有四种影响:新占了一行,新占了一列,既占了新的一行又占了新的一列,无影响。
对于每一种情况,dp[i][j][k]=原始状态的概率×选到这样的位置的概率
最后算答案的时候注意到,题目问的是到第k个刚好放完n行m列,也就是最后一个棋子一定是有作用的,
所以用dp[i][j][k]-dp[i][j][k-1]得到是第k个棋子恰好使得每行每列都占领的概率。
#include<cstdio>#include<cstring>double dp[55][55][2550];int n,m;int main(){ int T,i,j,k; scanf("%d",&T); while(T--) { scanf("%d%d",&n,&m); int sum=n*m; for(i=0;i<=n;i++) for(j=0;j<=m;j++) for(k=0;k<=sum;k++) dp[i][j][k]=0; dp[0][0][0]=1.0; for(k=1;k<=sum;k++) for(i=1;i<=n;i++) for(j=1;j<=m;j++) { dp[i][j][k]+=(dp[i][j][k-1]*(i*j-k+1)*1.0/(sum-k+1));//添加的位置没有新增新行或新列 dp[i][j][k]+=(dp[i-1][j][k-1]*((n-i+1)*j)*1.0/(sum-k+1));//增加行不增加列 dp[i][j][k]+=(dp[i][j-1][k-1]*(m-j+1)*i*1.0/(sum-k+1));//增加列不增加行 dp[i][j][k]+=(dp[i-1][j-1][k-1]*(n-i+1)*(m-j+1)*1.0/(sum-k+1));//既增加列也增加行 // printf("i:%d j;%d k;%d dp:%lf\n",i,j,k,dp[i][j][k]); } double ans=0; for(k=1;k<=sum;k++) ans+=(dp[n][m][k]-dp[n][m][k-1])*k; printf("%.10lf\n",ans); } return 0;}
0 0
- zoj3822 Domination (The 2014 ACM-ICPC Asia Mudanjiang Regional Contest D题)概率dp
- zoj3822 Domination 概率dp --- 2014 ACM-ICPC Asia Mudanjiang Regional Contest
- ZOJ 3822 Domination / The 2014 ACM-ICPC Asia Mudanjiang Regional Contest
- The 2014 ACM-ICPC Asia Mudanjiang Regional Contest 【部分题解】
- The 2014 ACM-ICPC Asia Mudanjiang Regional Contest - A
- The 2014 ACM-ICPC Asia Mudanjiang Regional Contest - I
- The 2014 ACM-ICPC Asia Mudanjiang Regional Contest - K
- The 2014 ACM-ICPC Asia Mudanjiang Regional Contest - D
- The 2014 ACM-ICPC Asia Mudanjiang Regional Contest - H
- zoj3829 Known Notation --- 2014 ACM-ICPC Asia Mudanjiang Regional Contest
- ZOJ3822 ACM-ICPC 2014 亚洲区域赛牡丹江赛区现场赛D题Domination 概率DP
- hdu 5045 - Contest(2014 ACM/ICPC Asia Regional Shanghai Online )概率dp
- The 2014 ACM-ICPC Asia Mudanjiang Regional Contest(2014牡丹江区域赛)
- The 2014 ACM-ICPC Asia Mudanjiang Regional Contest - A.Average Score
- The 2014 ACM-ICPC Asia Mudanjiang Regional Contest - I.Information Entropy
- The 2014 ACM-ICPC Asia Mudanjiang Regional Contest - K Known Notation
- zoj 3829 Known Notation (The 2014 ACM-ICPC Asia Mudanjiang Regional Contest K题) 贪心
- zoj 3829 Known Notation The 2014 ACM-ICPC Asia Mudanjiang Regional Contest K 贪心
- android viewflipper和tabhost效率对比
- EditText的属性使用
- 提交时提示错误This Bundle is invalid.New apps and app updates submitted to the App Store must be built wit
- jquery操作复选框(checkbox)的12个小技巧总结
- VS插件介绍
- zoj3822 Domination 概率dp --- 2014 ACM-ICPC Asia Mudanjiang Regional Contest
- hdu 4994 前后有序Nim游戏
- Android中TextView首行缩进的问题
- 类名.this与类名.class
- 在mac osX下安装openCV,used for python
- javascript中冒泡排序和快速排序的性能比较
- Hadoop中MapReduce实现join多种实例分析
- 关于“ARC forbids explicit message send of release”错误
- IP地址、子网掩码、网络号、主机号、网络地址、主机地址