一个n行m列的棋盘,每天可以放一个棋子,问要使得棋盘的每行每列都至少有一个棋子 需要的放棋子天数的期望。

dp[i][j][k]表示用了k天棋子共能占领棋盘的i行j列的概率。

他的放置策略是,每放一次,就会有四种可能

1)增加一行一列

2)增加一行

3)增加一列

4)不变

所以他放置的概率就可以求出来,每次放下的概率就是当前能放的点除以总的空的点数。

最后统计期望的时候需要统计在第k天刚好符合占满n行m列的概率,就是dp[i][j][k]-dp[i][j][k-1]

#include <cstdio>
#include <cstring>
#include <algorithm> using namespace std;
const int maxn = ;
double dp[maxn][maxn][maxn*maxn]; int main()
{
int T;
scanf("%d", &T);
while (T--)
{
int n, m;
scanf("%d %d", &n, &m);
int sum = n * m;
for (int i = ; i <= n; i++)
for (int j = ; j <= m; j++)
for (int k = ; k <= sum; k++)
dp[i][j][k] = ;
dp[][][] = 1.0;
for (int k = ; k <= sum; k++)
{
for (int i = ; i <= n; i++)
{
for (int j = ; j <= m; j++)
{
dp[i][j][k] += dp[i][j][k - ] * ((i * j - k + ) * 1.0 / (sum - k + ));//新添加的位置没有新增加行和列,所以他的概率就是(还剩下多少个符合不增加行和列能填的格子)/总的能填的格子
dp[i][j][k] += dp[i - ][j][k - ] * ((n - i + ) * j * 1.0 / (sum - k + ));//同理增加行不增加列
dp[i][j][k] += dp[i][j - ][k - ] * (i * (m - j + ) * 1.0 / (sum - k + ));//增加列不增加行
dp[i][j][k] += dp[i - ][j - ][k - ] * ((n - i + ) * (m - j + ) * 1.0 / (sum - k + ));//增加行和列
}
}
}
double ans = ;
for (int k = ; k <= sum; k++)
ans += (dp[n][m][k] - dp[n][m][k - ]) * k;//第k天刚好填满n和m所以就是dp[n][m][k] - dp[n][m][k - 1]
printf("%.10f\n", ans); } return ;
}

ZOJ 3822 Domination(概率dp)的更多相关文章

  1. ZOJ 3822 Domination 概率dp 难度:0

    Domination Time Limit: 8 Seconds      Memory Limit: 131072 KB      Special Judge Edward is the headm ...

  2. zoj 3822 Domination 概率dp 2014牡丹江站D题

    Domination Time Limit: 8 Seconds      Memory Limit: 131072 KB      Special Judge Edward is the headm ...

  3. zoj 3822 Domination (概率dp 天数期望)

    题目链接 参考博客:http://blog.csdn.net/napoleon_acm/article/details/40020297 题意:给定n*m的空棋盘 每一次在上面选择一个空的位置放置一枚 ...

  4. ZOJ 3822 Domination(概率dp 牡丹江现场赛)

    题目链接:problemId=5376">http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5376 Edward ...

  5. zoj 3822(概率dp)

    ZOJ Problem Set - 3822 Domination Time Limit: 8 Seconds      Memory Limit: 131072 KB      Special Ju ...

  6. ZOJ 3822 Domination 期望dp

    Domination Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.zju.edu.cn/onlinejudge/showProblem ...

  7. zoj 3822 Domination (可能性DP)

    Domination Time Limit: 8 Seconds      Memory Limit: 131072 KB      Special Judge Edward is the headm ...

  8. ZOJ - 3822 Domination (DP)

    Edward is the headmaster of Marjar University. He is enthusiastic about chess and often plays chess ...

  9. zoj 3822 Domination(dp)

    题目链接:zoj 3822 Domination 题目大意:给定一个N∗M的棋盘,每次任选一个位置放置一枚棋子,直到每行每列上都至少有一枚棋子,问放置棋子个数的期望. 解题思路:大白书上概率那一张有一 ...

随机推荐

  1. Day11 Memcached、Redis和RabbitMQ安装

    修改Ubuntu镜像源: sudo vi /etc/apt/sources.list 全部替换为以下内容: ---------------------------------------------- ...

  2. Leetcode: Reverse Integer 正确的思路下-要考虑代码简化

    题目: Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 Have ...

  3. .Echo 命令中经常提到回显,是什么意思?

    C:\>echo on C:\>date /t2006-08-06 星期日 C:\>以上内容是在打开回显的情况下执行的,其实我们想看到的只有2006-08-06 星期日这一行内容,但 ...

  4. 用C++进行函数式编程

    http://www.programmer.com.cn/12717/   文 / John Carmack 译 / 王江平 <Quake>作者Carmack认为追求函数式的程序设计有着实 ...

  5. [Codeforces Round#286] A.Mr. Kitayuta, the Treasure Hunter 【Normal DP..】

    题目链接:CF#286 - A 这场CF就这样爆零了...我真是太蒟蒻了... 题目分析 比赛的时候看到A题就发现不会,之后一直也没想出来,于是就弃了,还好不提交也不掉Rating... 比赛后看评论 ...

  6. 使用Flexible 实现手淘H5 页面的终端适配学习

    Amfe阿里无线前端团队双11技术连载之际,一个实战案例来展示多终端适配. Device metrics 1.0 mdpi 2.0 xhdpi 3.0xxhdpi(iphone 6 plus) 手淘h ...

  7. Crashing Robots

    Description In a modernized warehouse, robots are used to fetch the goods. Careful planning is neede ...

  8. Tengine简单安装

    跟NGINX一样,没有深入研究配置,因为暂时用不到..:) 下载2.10,基于NGINX1.6.2的. 我的配置参数如下: ./configure --with-openssl=/root/tengi ...

  9. 互联网组织的未来:剖析GitHub员工的任性之源

    转自:http://www.php100.com/html/it/hulianwang/2015/0108/8304.html [导读] 本文为大家介绍了著名代码托管服务商GitHub的组织运转结构. ...

  10. 如何在IIS6,7中部署ASP.NET网站

    http://www.cnblogs.com/fish-li/archive/2012/02/26/2368989.html 阅读目录 开始 查看web.config文件 在IIS中创建网站 IIS6 ...