ZOJ 3822 Domination(2014牡丹江Regional D题)
2014-10-12 22:52
302 查看
人家当场切掉的题,表示在场外做zoj还是要别人提醒dp数组的i,j,k分别表示什么含义才能AC...
下周鞍山之行无限堪忧TAT~
题目大意:有一个n * m的棋盘,每天放入一个棋子,当所有行和列都存在棋子的时候,就是一种符合的情况。
然后这种情况的值就是它的天数(也就是棋子个数),问所有符合的情况的期望值。
dp[i][j][k]表示放i个棋子,能盖住j行k列的概率。
由dp[i-1]也就是放i-1个棋子来推的话,如下图:
![](http://img.blog.csdn.net/20141012224722546?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2FveGlhbmczNjk5OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
由这四种情况所推得的即为新的dp[i]。
代码如下:
下周鞍山之行无限堪忧TAT~
题目大意:有一个n * m的棋盘,每天放入一个棋子,当所有行和列都存在棋子的时候,就是一种符合的情况。
然后这种情况的值就是它的天数(也就是棋子个数),问所有符合的情况的期望值。
dp[i][j][k]表示放i个棋子,能盖住j行k列的概率。
由dp[i-1]也就是放i-1个棋子来推的话,如下图:
由这四种情况所推得的即为新的dp[i]。
代码如下:
#include <iostream> #include <cstdio> #include <cstring> using namespace std; double dp[3000][55][55]; int t, n, m; void init() { memset(dp, 0, sizeof(dp)); dp[0][0][0] = 1.0; } int main() { scanf("%d", &t); while(t--) { init(); scanf("%d%d", &n, &m); if(n < m) swap(n, m); int max_day = n * m - m + 1; for(int i = 1; i <= max_day; i++) { for(int j = 1; j <= i && j <= n; j++) { for(int k = 1; k <= i && k <= m; k++) { if(j == n && k == m) { dp[i][j][k] = dp[i-1][j-1][k-1]*(double)(n-j+1)*(double)(m-k+1)/(double)(n*m-i+1) + dp[i-1][j][k-1]*(double)((m-k+1)*j)/(double)(n*m-i+1) + dp[i-1][j-1][k]*(double)((n-j+1)*k)/(double)(n*m-i+1); } else { dp[i][j][k] = dp[i-1][j-1][k-1]*(double)(n-j+1)*(double)(m-k+1)/(double)(n*m-i+1) + dp[i-1][j][k-1]*(double)((m-k+1)*j)/(double)(n*m-i+1) + dp[i-1][j-1][k]*(double)((n-j+1)*k)/(double)(n*m-i+1) + dp[i-1][j][k]*((double)(j*k)-(i-1))/(double)(n*m-i+1); } } } } double ans = 0.0; for(int i = 1; i <= max_day; i++) { ans += double(i) * dp[i] [m]; } printf("%.10lf\n", ans); } return 0; }
相关文章推荐
- ZOJ 3822 Domination(2014牡丹江Regional D题)
- ZOJ 3822 Domination 动态规划 2014牡丹江现场赛D
- ACM学习历程——ZOJ 3822 Domination (2014牡丹江区域赛 D题)(概率,数学递推)
- [zoj 3822]2014牡丹江区域赛 Domination 概率dp求期望
- zoj 3822 Domination(2014牡丹江区域赛D题) (概率dp)
- zoj 3822 (2014 牡丹江区域赛 D) Domination
- ZOJ 3822 Domination / The 2014 ACM-ICPC Asia Mudanjiang Regional Contest
- ZOJ-3822-Domination【概率dp】【2014牡丹江赛区】
- zoj 3822 Domination(2014牡丹江区域赛D称号)
- zoj 3822 Domination(2014牡丹江区域赛D题)
- ZOJ 3822 Domination 概率DP 2014年ACM_ICPC亚洲区域赛牡丹江现场赛D题
- ZOJ 3822 Domination The 2014 ACM-ICPC 牡丹江区域赛 概率dp 先算概率,再转成期望
- 2014牡丹江现场赛A题D题I题(水,概率Dp,水)ZOJ 3819,3822,3827
- zoj 3813 Alternating Sum(2014ACMICPC Regional 牡丹江站网络赛 E)
- ZOJ 3822 Known Notation(2014牡丹江Regional K题)
- zoj 3813 Alternating Sum(2014ACMICPC Regional 牡丹江站网络赛 E)
- ZOJ 3822 Known Notation(2014牡丹江Regional K题)
- ZOJ 3822 Domination /2014牡丹江现场赛D题 (dp)
- ZOJ 3822 Domination(概率dp 牡丹江现场赛)
- zoj 3822 Domination 概率dp 2014牡丹江站D题