【XSY1594】棋盘控制 概率DP
来源:互联网 发布:c语言次方怎么写 编辑:程序博客网 时间:2024/06/13 11:00
题目描述
给你一个
注意:结束的条件是所有行和所有列都被控制,而不是所有格子都被控制。
题解
简单DP
答案是
弄个滚动数组搞一下
时间复杂度:
代码
#include<cstdio>#include<cstring>#include<algorithm>#include<cstdlib>#include<ctime>#include<utility>using namespace std;typedef long long ll;typedef pair<int,int> pii;double f[2][60][60];void solve(){ double ans=0; int n,m; scanf("%d%d",&n,&m); memset(f,0,sizeof f); int i,j,k; f[0][0][0]=1; int t=0; for(k=1;k<=n*m;k++) { t^=1; double now=1./(n*m-k+1); memset(f[t],0,sizeof f[t]); for(i=1;i<=n;i++) for(j=1;j<=m;j++) f[t][i][j]=(f[t^1][i][j]*(i*j-k+1)+f[t^1][i-1][j]*(n-i+1)*j+f[t^1][i][j-1]*i*(m-j+1)+f[t^1][i-1][j-1]*(n-i+1)*(m-j+1))*now; ans+=k*(f[t][n][m]-f[t^1][n][m]); } printf("%.10lf\n",ans);}int main(){ int t; scanf("%d",&t); while(t--) solve(); return 0;}
阅读全文
0 0
- 【XSY1594】棋盘控制 概率DP
- 概率dp
- ##概率dp##
- 概率dp
- 概率dp
- 概率dp
- 概率dp
- 概率dp
- 概率dp
- 概率dp
- 概率dp
- 概率DP
- 概率DP
- 概率dp
- 概率dp
- dp-概率dp
- 【区间dp,概率dp】
- DP 棋盘覆盖 二
- zencart 批量删除无图片产品 优化网站
- Json 接收问题
- 用jstl和el表达式获取List<Map<String,Object>>中的值
- Linux
- HDOJ 1848.Fibonacci again and again SG函数
- 【XSY1594】棋盘控制 概率DP
- SpringMVC前后台数据交互
- Linux进阶之 ls 命令
- Leetcode解题笔记 4.Median of Two Sorted Arrays [Hard]
- Oracle 常用SQL函数
- codeforces 761A Dasha and Stairs
- 字段宽度和精度使用
- ubuntu17下安装pgAdmin4
- [bzoj1000] A+B Problem