题目描述:##

骰子是一个六面分别刻有一到六点的立方体,每次投掷骰子,理论上得到\(1\)到\(6\)的概率都是\(1/6\)。

有骰子一颗,连续投掷\(n\)次,问点数总和大于等于\(X\)的概率是多少?

题目分析:##

概率\(DP\)入门,由于是第一次做这类题,记录一下。

首先概率题的主要思路:

\(概率 = 合法方案数 / 总方案数\)

对于这道题,总方案数\(total=6^n\),所以重点在于怎么求合法方案数,即抛掷\(n\)次总和大于\(X\)的次数。

考虑\(dp\),设\(f[i][j]\)表示抽第\(i\)次总点数为\(j\)的方案数,容易得到状态转移方程\(f[i][j]=\sum\limits_{k=1}^6{f[i-1][j-k]}\)

$ ans = \frac{\sum\limits_{i=x}^{6*n}{f[n][i]}}{total} $

代码:##

#include<bits/stdc++.h>
#define N 30
#define M 300
using namespace std;
int read() {
int cnt = 0; int f = 1;
char c;
c = getchar();
while (!isdigit(c)) {
if (c == '-') f = -1;
c = getchar();
}
while (isdigit(c)) {
cnt = cnt * 10 + c - '0';
c = getchar();
}
return cnt * f;
}
long long gcd(long long x, long long y) {
if (x == 0) return y;
return gcd(y % x, x);
}
long long f[N][M], n, x, tot = 1, ans = 0;
int main() {
n = read(); x = read();
for (register int i = 1; i <= n; i++) tot *= 6; f[0][0] = 1; for (register int i = 1; i <= n; i++)
for (register int j = 1; j <= i * 6; j++)
for (register int k = 1; k <= 6; k++)
if(j - k >= 0)
f[i][j] += f[i-1][j-k]; for (register int i = x; i <= 6 * n; i++)
ans += f[n][i]; if (ans == 0) {
printf("0");
return 0;
} if (ans == tot) {
printf("1");
return 0;
} long long GCD = gcd(ans, tot);
ans /= GCD; tot /= GCD;
printf("%lld/%lld", ans, tot);
return 0;
}

[WOJ3010] 骰子的更多相关文章

  1. BZOJ1298[SCOI2009]骰子的学问

    Description Input 第一行为两个整数n, m.第二行有n个整数,为a1,a2, -, an. Output 包含n行,每行m个1~n×m的正整数,各不相同,以空格分开.如果有多解,输出 ...

  2. Frida HOOK微信实现骰子作弊

    由于微信摇骰子的功能在本地进行随机后在发送,所以存在可以hook掉判断骰子数的方法进行修改作弊. 1.frida实现hook java层函数1)写个用来测试的demo,当我们点击按钮的时候会弹出窗口显 ...

  3. js+css实现骰子的随机转动

    网上找的例子,然后增添了新的东西,在这里展示一下...... 效果图预览: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitio ...

  4. html canvas 骰子1

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. 掷骰子-IOS新手项目练习(抱歉,由于个人原因,图片没显示,要源码的项目私聊)

    ---恢复内容开始--- 今天我们来讲的就是项目<掷骰子> 首先我们先下载资源包,也就是我们需要的图片[点击图片下载] 在我们下载完图片之后,我们就可以开始创建项目 一.我们项目的做法可以 ...

  6. html5掷骰子的小demo

    代码如下: <!DOCTYPE> <html> <title>柯乐义</title> <head> <script> var l ...

  7. 【编程题目】n 个骰子的点数

    67.俩个闲玩娱乐(运算).2.n 个骰子的点数.把 n 个骰子扔在地上,所有骰子朝上一面的点数之和为 S.输入 n,打印出 S 的所有可能的值出现的概率. 思路:用递归把每个骰子的可能情况变量,记录 ...

  8. 【原】CSS3的3D动画 ——3D旋转之骰子样式的钟表(2)下.md

    之前看到智能社主页的那个骰子样式的钟表,最近研究了一下,虽然没有仔细看他是怎么做的,但是学了css3的动画之后想自己尝试着写一下,用到的原理可能和智能社网站的不太一样,我自己主要用到了css3和js. ...

  9. 【学】CSS3的3D动画 ——3D旋转之骰子样式的钟表(2)上

    这个是3D旋转的进阶版,是一个类似与骰子的正方体.这个版本只有秒数的个位数,还没有写整个钟表,下面那个版本好好想想该怎么写 这个效果需要用到transform-style: preserve-3d. ...

随机推荐

  1. [CPP - STL] functor刨根问底儿

    作为STL六大组件之一,在STL源代码及其应用中,很多地方使用了仿函数(functor),尤其在关联型容器(如set.map)以及algorithm(如find_if.count_if等)中.虽然已经 ...

  2. 关于<context:annotation-config/>配置

    对于spring项目的一些配置,一直感到有些混乱,今天看到一前辈总结的特别好,把自己的理解贴在这里,有不当的地方,后续继续学习: 当我们使用@Autowired.@Required等这些注解时,就要在 ...

  3. 转回java,项目遇到的环境相关问题记录

    fastjson解析报错,兼容java8的time包:需要升级fastjson版本到1.2.9 https://www.oschina.net/question/129411_142776     j ...

  4. div遮罩弹框口

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  5. application 长用到的API

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  6. 常用的PHP类库,PHP开发者必备【转】

    PHP开发者常用的PHP类库和组件 PDF 生成器 FPDF - 这量一个可以让你生成PDF的纯PHP类库. Excel 相关 你的站点需要生成Excel?没有问题,下面这两个类库可以让你轻松做到这一 ...

  7. android中requestFocus

    标签用于指定屏幕内的焦点View. 例如我们点击tab键或enter键焦点自动进入下一个输入框用法: 将标签置于Views标签内部 <EditText id="@+id/text&qu ...

  8. XML简介——可扩展标记语言(Extensible Markup Language)

    (What) XML是什么? XML指可扩展标记语言(Extensible Markup Language) 1.  XML是一种标记语言,类似HTML. 2.  XML具有自我描述性 3.  XML ...

  9. [SDOI2012]任务安排

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2726 [算法] 此题与POJ1180非常相似 但是 , 此题中的t值可能为负 , 这 ...

  10. 查看mysql连接情况,以及连接超时时间设置

    查看连接: show processlist;   只展示100个连接 show full processlist;    展示所有连接 查看超时时间: show variables like  '% ...