ZOJ 3822 Domination / The 2014 ACM-ICPC Asia Mudanjiang Regional Contest
来源:互联网 发布:c3p0连接池优化 编辑:程序博客网 时间:2024/06/07 20:23
题目: LINK
dp[i][j][k] 表示当前用了<=k个chess ,覆盖了i行j列(i*j的格子 每行至少一个,每列至少一个)的概率。
dp[i][j][k] 由 dp[i][j][k-1] , dp[i-1][j][k-1], dp[i][j-1][k-1], dp[i-1][j-1][k-1]得到,分别表示 添加的新的一个chess, 不覆盖新的行列, 只新覆盖一行, 只新覆盖一列, 同时新覆盖一行和一列,得到dp[i][j][k]。
递推时, 每个概率 * (可以覆盖的点数/剩余所有的空点数) 相加得到[i][j][k].
ans += (dp[n][m][i] - dp[n][m][i-1])* i; (i = [1, n*m])
#include <cstdio>#include <cstring>#include <algorithm>#include <iostream>#include <string>#include <vector>#include <cmath>#include <queue>#include <map>#include <set>using namespace std; #define INF 1000000000//typedef __int64 LL; #define N 55double dp[N][N][N*N];//[i][j][k] 覆盖了i 行, j列, 用了<=k个chess的满足条件的概率int n, m, t; int main() {#ifndef ONLINE_JUDGE freopen("in.txt", "r", stdin); #endif // ONLINE_JUDGE scanf("%d", &t); while(t--) { scanf("%d%d", &n, &m); memset(dp, 0, sizeof(dp)); dp[0][0][0] = 1.0; for(int i = 1; i <= n; i++) { for(int j = 1; j <= m; j++) { for(int k = 1; k <= n*m; k++) { dp[i][j][k] = dp[i][j-1][k-1] * (1.0 * i*(m-j+1)/(n*m-k+1)) + dp[i-1][j][k-1] * (1.0 * j*(n-i+1)/(n*m-k+1)) + dp[i-1][j-1][k-1] * (1.0 * (n-i+1)*(m-j+1)/(n*m-k+1)) + dp[i][j][k-1] * (1.0 * (i*j-k +1) / (n*m - k+1)); } } } double ans = 0; for(int i = 1; i <= n*m; i++) { ans += (dp[n][m][i] - dp[n][m][i-1])* i; //当前减去前一个,得到仅仅用i个chess就满足条件的概率 } printf("%.12lf\n", ans); } return 0; }
0 0
- ZOJ 3822 Domination / The 2014 ACM-ICPC Asia Mudanjiang Regional Contest
- zoj3822 Domination (The 2014 ACM-ICPC Asia Mudanjiang Regional Contest D题)概率dp
- 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
- 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 贪心
- zoj 3820 Building Fire Stations The 2014 ACM-ICPC Asia Mudanjiang Regional Contest bfs
- ZOJ 3819 Average Score The 2014 ACM-ICPC Asia Mudanjiang Regional Contest
- zoj3822 Domination 概率dp --- 2014 ACM-ICPC Asia Mudanjiang Regional Contest
- zoj 3820 Building Fire Stations The 2014 ACM-ICPC Asia Mudanjiang Regional Contest B题 树的直径
- zoj3829 Known Notation --- 2014 ACM-ICPC Asia Mudanjiang Regional Contest
- 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
- Dshow--filter
- 如何设计自定义的DIrectShow transform filter
- erlang节点通信小测试
- android:layout_weight 用法解释
- 1-3 数组的反序输出
- ZOJ 3822 Domination / The 2014 ACM-ICPC Asia Mudanjiang Regional Contest
- LSP原则
- 第七周项目-结算工资
- 关于drwxr-xr-x里面的这个indicate @代表的意思以及如何解决
- 吝啬的国度
- 1-4 输出菱形
- VC解决COM启动运行中“服务器运行中”等消息问题
- C++boost库中sp_counted_impl_x实现解析
- Hat check problem的解决办法