ZOJ 3822 可能性DP
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3822
本场比赛之前,我记得。见WALK概率路DP称号。那么它应该是可以考虑的概率DP,十一还特意看了碍着,
当场景。真的OUT了。然后好激动的样子,開始推得二维。然后感觉好难推。发现n仅仅有50。所以就去推三维,然后发现k<max(i,j)的时候,有无用状态,无用状态初始化不会处理,然后认为好像也用不到,可是感觉更稳的还是去推二维,然后就陷入二维--------悲剧了 最后打铁,真他妈不爽
也发现了自己的问题:1、平时学的东西掌握的不够扎实
2、事实上假设队友没明确自己的意思,全然自己推吧,自信点,别想着必须队友确认才去做
想要保研牛校或者出国。单单小的竞赛还是不够的,ACM假设不出结果会有非常大压力。预计保牛校无望,我校牛逼的学长学姐。也就是清华或者交大的硕博连读或者博士,这对于92年出生的我实在不能忍......
还有西安一站,这几天我会全力最后一搏,下次比赛绝不犯此次比赛的错误。假设自己的思路队友这边难以沟通,必要的话,就自己坚持自己想自己做,尤其自信点,有非常多人事实上不像他们想象的那样强,我自己也不想我想的那么弱
E[i][j][k] 已经占领i行j列。走了k步的时候,还须要走的步数的期望。其它看代码就好
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
#define CL(a,b) memset(a,b,sizeof(a))
#define IN(s) freopen(s,"r",stdin)
const int MAXN = 55;
double dp[MAXN][MAXN][MAXN*MAXN]; int main()
{
//IN("D.txt");
int ncase;
scanf("%d",&ncase);
int n,m;
while(ncase--)
{
scanf("%d%d",&n,&m);
CL(dp,0);
for(int i=n;i>=0;i--)
for(int j=m;j>=0;j--)
{
if(i==n&&j==m)continue;
for(int k=i*j;k>=max(i,j);k--)
{
dp[i][j][k]+=1.0*j*(n-i)/(1.0*n*m-k)*dp[i+1][j][k+1];
dp[i][j][k]+=1.0*i*(m-j)/(1.0*n*m-k)*dp[i][j+1][k+1];
dp[i][j][k]+=1.0*(i*j-k)/(1.0*n*m-k)*dp[i][j][k+1];
dp[i][j][k]+=1.0*(n-i)*(m-j)/(1.0*n*m-k)*dp[i+1][j+1][k+1];
dp[i][j][k]+=1.0;
}
}
printf("%.12lf\n",dp[0][0][0]);
}
return 0;
}
版权声明:本文博客原创文章,博客,未经同意,不得转载。
ZOJ 3822 可能性DP的更多相关文章
- zoj 3822 Domination(dp)
题目链接:zoj 3822 Domination 题目大意:给定一个N∗M的棋盘,每次任选一个位置放置一枚棋子,直到每行每列上都至少有一枚棋子,问放置棋子个数的期望. 解题思路:大白书上概率那一张有一 ...
- zoj 3822 概率dp
/* 题目大意:一个n*m的棋盘,每天放一个棋子,每行每列至少有一个棋子时结束.求达到每行每列至少有一个棋子的天数的数学期望. */ #include <iostream> #includ ...
- [AC自己主动机+可能性dp] hdu 3689 Infinite monkey theorem
意甲冠军: 给n快报,和m频率. 然后进入n字母出现的概率 然后给目标字符串str 然后问m概率倍的目标字符串是敲数量. 思维: AC自己主动机+可能性dp简单的问题. 首先建立trie图,然后就是状 ...
- zoj 3822 Domination (可能性DP)
Domination Time Limit: 8 Seconds Memory Limit: 131072 KB Special Judge Edward is the headm ...
- zoj 3822(概率dp)
ZOJ Problem Set - 3822 Domination Time Limit: 8 Seconds Memory Limit: 131072 KB Special Ju ...
- ZOJ 3822 Domination 期望dp
Domination Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.zju.edu.cn/onlinejudge/showProblem ...
- zoj 3822 Domination(2014牡丹江区域赛D题) (概率dp)
3799567 2014-10-14 10:13:59 Acce ...
- zoj 3822 Domination (概率dp 天数期望)
题目链接 参考博客:http://blog.csdn.net/napoleon_acm/article/details/40020297 题意:给定n*m的空棋盘 每一次在上面选择一个空的位置放置一枚 ...
- ZOJ 3822 Domination(概率dp)
一个n行m列的棋盘,每天可以放一个棋子,问要使得棋盘的每行每列都至少有一个棋子 需要的放棋子天数的期望. dp[i][j][k]表示用了k天棋子共能占领棋盘的i行j列的概率. 他的放置策略是,每放一次 ...
随机推荐
- Cocos移植Android-Android.mk编译后的文件
在以前的博客,我们使用的中年cocos工具C和C++源代码可以编译. 其实cocos工具读取<游戏project文件夹>\proj.android\jni\夹Android.mk文件,.A ...
- Android SVN开发实战的文件夹结构呈现
svn有一个非常标准的文件夹结构,这是. 例如,该项目是proj.svn地址svn://proj/,然后该标准svn布局是 svn://proj/ | +-trunk +-branches +-tag ...
- 【JUnit4.10来源分析】0导航
JUnit靠GOF 中的一个Erich Gamma和 Kent Beck 单元测试框架编写一个开源,yqj2065分析JUnit的主要目的是源 中学习对设计模式的运用. JUnit也是一个学习Java ...
- CSharp SQLServer 登陆
=======后台SQLServer存储过程================ --创建数据库create database Stu; --创建表use MyShool;if exists(select ...
- SQLite Code配置DbConfiguration
[DbConfigurationType(typeof(SQLiteConfiguration))] public partial class rsapiEntities : DbContext { ...
- 【Quick-COCOS2D-X 3.3 怎样绑定自己定义类至Lua之三】动手绑定自己定义类至Lua
查看[Quick-COCOS2D-X 3.3 怎样绑定自己定义类至Lua之二]新建项目中配制环境,我们完美的在新建项目中完毕了绑定须要的环境,接下来才是最关健的一步.绑定自己定义C++类至Lu ...
- T-SQL基础(7) - 透视,逆透视和分组集
透视转换: use tempdb;if object_id('dbo.Orders', 'U') is not null drop table dbo.Orders;create table dbo. ...
- Canvas翻转方法
// 普通抽奖: // ctx.drawImage(img, px, py); // 级别"翻转"帆布 ctx.translate(canvas_width, 0); ctx. ...
- JSplitPane demo
package example; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; imp ...
- window.history.back()的改进方法window.history.go()
今天在做项目时,測试人员提出了一条bug,起初没当回事,在改动过程中才意识到其重要性,故记录下来. 依照需求,系统应该实现例如以下的功能:有三个关联的页面a.aspx(简称a),b.aspx(简称b) ...