ZOJ 3329 【概率DP】
题意:
给你三个均匀k面筛子。
分别有k1 k2 k3个面,每个面朝上的概率是相等的。
如果第一个筛子出现a第二个筛子出现b第三个筛子出现c那么置零。
否则在当前和加上三个点数之和。
求当前和大于n需要的步数的期望。
思路:
一开始状态转移搞错了,手推公式交了WA,后来想了想状态转移的过程发现每个状态都跟0状态有关系,但是dp[0]不确定,但是幸运的是这是一个线性变换,所以状态转移的时候记录一下dp[0]的系数,最后移项输出就好了。
dp[i]=dp[i+x]*(k1*k2*k3);(x=i+j+k)(i=1...k1 j=1...k2 k=1...k3)
错误:
总的状态数量一开始脑残写成了k1+k2+k3
shit
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
double dp1[],dp2[];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n,aa,bb,cc,a,b,c;
scanf("%d%d%d%d%d%d%d",&n,&aa,&bb,&cc,&a,&b,&c);
memset(dp1,,sizeof(dp1));
memset(dp2,,sizeof(dp2));
for(int w=n; w>=; w--)
{
for(int i=; i<=aa; i++)
{
for(int j=; j<=bb; j++)
{
for(int k=; k<=cc; k++)
{
if(i==a&&j==b&&k==c)
{
dp2[w]+=1.0/(aa*bb*cc);
}
else
{
dp2[w]+=dp2[w+i+j+k]/(aa*bb*cc);
dp1[w]+=dp1[w+i+j+k]/(aa*bb*cc);
}
}
}
}
dp1[w]+=;
}
printf("%.15lf\n",dp1[]/(-dp2[]));
}
}
ZOJ 3329 【概率DP】的更多相关文章
- zoj 3329 概率dp
题意:有三个骰子,分别有k1,k2,k3个面.每个面值为1--kn每次掷骰子,如果三个面分别为a,b,c则分数置0,否则加上三个骰子的分数之和.当分数大于n时结束.求游戏的期望步数.初始分数为0 链接 ...
- ZOJ Problem Set - 3329(概率DP)
One Person Game Time Limit: 1 Second Memory Limit: 32768 KB Special Judge There is a very ...
- zoj 3640 概率dp
题意:一只吸血鬼,有n条路给他走,每次他随机走一条路,每条路有个限制,如果当时这个吸血鬼的攻击力大于等于某个值,那么就会花费t天逃出去,否则,花费1天的时间,并且攻击力增加,问他逃出去的期望 用记忆化 ...
- zoj 3822 概率dp
/* 题目大意:一个n*m的棋盘,每天放一个棋子,每行每列至少有一个棋子时结束.求达到每行每列至少有一个棋子的天数的数学期望. */ #include <iostream> #includ ...
- ZOJ 3329 期望DP
题目大意: 给定3个已经规定好k1,k2,k3面的3个色子,如果扔到a,b,c则重新开始从1 计数,否则不断叠加所有面的数字之和,直到超过n,输出丢的次数的数学期望 我们在此令dp[]数组记录从当前数 ...
- poj 2096 Collecting Bugs && ZOJ 3329 One Person Game && hdu 4035 Maze——期望DP
poj 2096 题目:http://poj.org/problem?id=2096 f[ i ][ j ] 表示收集了 i 个 n 的那个. j 个 s 的那个的期望步数. #include< ...
- zoj 3822(概率dp)
ZOJ Problem Set - 3822 Domination Time Limit: 8 Seconds Memory Limit: 131072 KB Special Ju ...
- zoj 3822 Domination (概率dp 天数期望)
题目链接 参考博客:http://blog.csdn.net/napoleon_acm/article/details/40020297 题意:给定n*m的空棋盘 每一次在上面选择一个空的位置放置一枚 ...
- zoj 3640 Help Me Escape 概率DP
记忆化搜索+概率DP 代码如下: #include<iostream> #include<stdio.h> #include<algorithm> #include ...
- ZOJ 3822 Domination(概率dp 牡丹江现场赛)
题目链接:problemId=5376">http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5376 Edward ...
随机推荐
- 由浅入深探究mysql索引结构原理、性能分析与优化 转
第一部分:基础知识 第二部分:MYISAM和INNODB索引结构 1. 简单介绍B-tree B+ tree树 2. MyisAM索引结构 3. Annode索引结构 4. MyisAM索引与Inno ...
- asp.net MVC ViewData详解
转自:http://www.cnblogs.com/gaopin/archive/2012/11/13/2767515.html 控制器向视图中传值ViewData详解 1.将一个字符串传值到视图中 ...
- elipse 调试 反射 invoke 子类
真实案例: 调试一个接口,子类invoke的,结果断点断不到: 查找两个项目间的关联.依赖,无果. 问人吧,结果是配置文件没改成本机: #============================# # ...
- [mysql] mysql表名忽略大小写
首先查看mysql是否区分大小写: 今天郁闷死了,在LINUX下调一个程序老说找不到表,但是我明明是建了表的,在MYSQL的命令行下也可以查到,为什么程序就找不到表呢? 后来请教了一个老师才搞定,原来 ...
- 如何利用gatling创建一个性能测试例
[原创博文,转载请声明出处] 基于上一篇博文介绍如何源码编译创建自己的gatling可执行工具,今天介绍一下如何基于gatling做性能测试! 由于gatling的测试例脚本是基于scala写的,所以 ...
- Angular学习(5)- 数组双向梆定+filter
示例: <!DOCTYPE html> <html ng-app="MyApp"> <head> <title>Study 5< ...
- nova分析(2)—— nova-all
nova-all是一个用来启动所有nova服务的辅助脚本,注意只是启动所有服务,不包括停止和重启等功能. nova-all的入口在 nova.cmd.all:main ,脚本也比较简单,这儿就贴下代码 ...
- 域控制器中的FSMO角色
FSMO是Flexible single master operation的缩写,意思就是灵活单主机操作.营运主机(Operation Masters,又称为Flexible Single Maste ...
- 【maven】之使用jetty发布web项目
<plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin ...
- gcc和ld 中的参数 --whole-archive 和 --no-whole-archive
首先 --whole-archive 和 --no-whole-archive 是ld专有的命令行参数,gcc 并不认识,要通gcc传递到 ld,需要在他们前面加 -Wl,字串. --whole-ar ...