HDU 4652 Dice(期望)】的更多相关文章

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4652 题意:一个m个面的筛子.两种询问:(1)平均抛多少次后使得最后n次的面完全一样:(2)平均抛多少次后使得最后n次的面完全不同? 思路:设dp[i]表示i次完全相同.不同时还需要抛的次数期望. (1)下面首先讨论完全相同的情况. (2)完全不同的情况: i64 Pow(int n,int m){    i64 ans=1,x=n;    while(m)    {        if(m&1)…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4652 题意: 给你一个有m个面的骰子. 两种询问: (1)"0 m n": “最后n次点数均相同”的投掷次数期望. (2)"1 m n": “最后n次点数各不相同”的投掷次数期望. 题解: 表示状态: dp[i] = expectation (当前已经有i个点数相同/不相同) 找出答案: ans = dp[0] 如何转移: 一.都相同 (1)dp[i] = dp[i+1…
版权声明:欢迎关注我的博客,本文为博主[炒饭君]原创文章,未经博主同意不得转载 https://blog.csdn.net/a1061747415/article/details/36685493 Dice Problem Description You have a dice with m faces, each face contains a distinct number. We assume when we tossing the dice, each face will occur r…
思路: dp[i]表示当前在已经投掷出i个不相同/相同这个状态时期望还需要投掷多少次 对于第一种情况有: dp[0] = 1+dp[1] dp[1] = 1+((m-1)*dp[1]+dp[2])/m dp[i] = 1+((m-1)*dp[1]+dp[i+1])/m …… dp[n] = 0 可以得到:dp[n-1]=m*dp[n]+1 所以dp[0]=(m^n-1)/(m-1)也即是第一种的答案! 对于第二种情况有: dp[0]=1+dp[1] dp[1]=1+(dp[1]+(m-1)*dp…
嘟嘟嘟 题目大意就是对于一个m面的骰子,回答这么两个问题: 1.求连续扔n次都是同一数字的期望次数. 2.求连续扔n次每一次数字都不相同的期望次数. 对于期望dp特别菜的我来说,这道题已经算是很难了.反正是抠了一天…… 我们先看第一问. 令fi表示连续 i 次数字都相同的期望,那么要考虑他能转化到什么状态,而不是由什么状态转化过来. 转化到什么状态要考虑到所有情况:包括扔的数字相同的和不同两种情况,于是转移方程就写出来了: fi = 1 / m * fi+1 + (m - 1) / m * f1…
对长为L的棒子随机取一点分割两部分,抛弃左边一部分,重复过程,直到长度小于d,问操作次数的期望. 区域赛的题,比较基础的概率论,我记得教材上有道很像的题,对1/len积分,$ln(L)-ln(d)+1$. /** @Date : 2017-10-06 14:32:03 * @FileName: HDU 5984 数学期望.cpp * @Platform: Windows * @Author : Lweleth (SoungEarlf@gmail.com) * @Link : https://gi…
题面: m 面骰子,求1. 出现n个连续相同的停止 ;2. 出现n个连续不同的停止的期望次数.(n, m ≤ 10^6 ) 解析: 当然要先列式子啦. 用f[i](g[i])表示出现i个连续相同(不相同)的停止的期望次数.(期望=1/概率) 当然可秒看出f[1]=1,f[n]=0; 但我们不能顺推,因我们不能确定f[0]的值.那就逆推吧. 当前事件期望=1/概率×后继事件a+1/概率×后续事件b+1.(注意1代表当前情况能向所有已知方向拓展,而无障碍) f[i]=1/m*f[i+1](加入与前面…
  期望DP +数学推导 Dice Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 337    Accepted Submission(s): 223Special Judge Problem Description You have a dice with m faces, each face contains a distinct…
balls Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5570 Description There are n balls with m colors. The possibility of that the color of the i-th ball is color j is ai,jai,1+ai,2+...+ai,m. If the number of b…
1. 题目描述对于m面的骰子.有两种查询,查询0表示求最后n次摇骰子点数相同的期望:查询1表示最后n次摇骰子点数均不相同的期望. 2. 基本思路由期望DP推导,求得最终表达式.(1) 查询0    不妨设$dp[k]$表示当前已经有k次相同而最终实现n次相同的期望.    \begin{align}        dp[0] &= 1 + dp[1]  \notag \\        dp[1] &= 1 + \frac{1}{m}dp[2] + \frac{m-1}{m}dp[1] …
poj 2096 题目:http://poj.org/problem?id=2096 f[ i ][ j ] 表示收集了 i 个 n 的那个. j 个 s 的那个的期望步数. #include<cstdio> #include<cstring> #include<algorithm> #define db double using namespace std; ; db n,s,f[N][N]; int main() { scanf("%lf%lf"…
思路: 1.求f[n];dp[i]表示i个连续相同时的期望 则 dp[0]=1+dp[1]     dp[1]=1+(5dp[1]+dp[2])/6     ……     dp[i]=1+(5dp[1]+dp[i+1])/6     ……     dp[n]=0 可以求得f[n]=(6^n-1)/5. 2.求h[n];dp[i]表示i个连续相同的1时的期望 则 dp[0]=1+(5dp[0]+dp[1])/6     dp[1]=1+(5dp[0]+dp[2])/6     ……     dp[…
Problem Description There are 2 special dices on the table. On each face of the dice, a distinct number was written. Consider a1.a2,a3,a4,a5,a6 to be numbers written on top face, bottom face, left face, right face, front face and back face of dice A.…
Problem Description There are x cards on the desk, they are numbered from 1 to x. The score of the card which is numbered i(1<=i<=x) is i. Every round BieBie picks one card out of the x cards,then puts it back. He does the same operation for b round…
Problem Description Sakura has a very magical tool to paint walls. One day, kAc asked Sakura to paint a wall that looks like an M×N matrix. The wall has M×N squares in all. In the whole problem we denotes (x,y) to be the square at the x-th row, y-th…
事实上是非常水的一道bfs,用字符串表示每一个状态,map判重就ok了. 题目链接:http://acm.hdu.edu.cn/showproblem.php? pid=5012 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<cctype> #include<algorithm> #include<string>…
When wake up, lxhgww find himself in a huge maze. The maze consisted by N rooms and tunnels connecting these rooms. Each pair of rooms is connected by one and only one path. Initially, lxhgww is in room 1. Each room has a dangerous trap. When lxhgww…
(1)https://vjudge.net/problem/SPOJ-FAVDICE 题意:有一个n面的骰子,每一面朝上的概率相同,求所有面都朝上过至少一次的总次数期望. 题解:令dp[i]表示 i 面满足条件的期望次数,则有 dp[i]=$\sum_{j=1}^{i-1}$(Pj*(本次操作对最终期望的贡献+dp[i]))+$\sum_{j=1}^{n-(i-1)}$(Qj*(本次操作对最终期望的贡献+dp[i-1])),其中Pj表示出现已经出现过数字的概率,由于是等概率事件,所以这里所有的P…
题目链接 (直接)设\(F(i)\)为在\(i\)点走出迷宫的期望步数.答案就是\(F(1)\). 令\(p_i=1-k_i-e_i\),表示\(i\)点沿着边走的概率:\(d_i=dgr[i]\),即点\(i\)度数. 每个点有三种状态,即\[F(i)=k_i\times F(1)+e_i\times 0+\frac{p_i}{d_i}\sum_{v=to[i]}(F(v)+1)\] 要高斯消元吗..很重要的一点是图是一棵树.所以叶节点只由父节点(和\(1\))转移而来,而父节点的转移中需要叶…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3853 LOOPS Time Limit: 15000/5000 MS (Java/Others)Memory Limit: 125536/65536 K (Java/Others) 问题描述 Akemi Homura is a Mahou Shoujo (Puella Magi/Magical Girl). Homura wants to help her friend Madoka save t…
Problem Description There are 2 special dices on the table. On each face of the dice, a distinct number was written. Consider a1.a2,a3,a4,a5,a6 to be numbers written on top face, bottom face, left face, right face, front face and back face of dice A.…
题意:进行K次染色,每次染色会随机选取一个以(x1,y1),(x2,y2)为一组对角的子矩阵进行染色,求K次染色后染色面积的期望值(四舍五入). 析:我们可以先求出每个格子的期望,然后再加起来即可.我们可以把格子进行划分,然后再求概率. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <string> #include <cst…
题意: 你现在要打\(n\)个字符,但是程序随时可能会崩溃. 你可以在恰当的时机按下 \(Ctrl-S\)键,崩溃后,会从最后一次保存的情况继续开始打字. 具体是这样的: 在每个第\(i-0.1s(i>0)\)的时候,程序崩溃的概率为\(p\) 在每个第\(is(i \geq 0)\)的时候,你可以一口气按下\(x\)个键来存盘 在每个第\(i+0.1s(i \geq 0)\)的时候,你可以按下一个键来打字 求采取最优策略下,打完这\(n\)个字符,并且最后存盘,总按键次数的期望. 分析: 先不…
/* 坑啊 数学函数的运用log处理,exp还原 tle好长时间,一直用g++交,最后把别人正确的代码交上也是tle,用c++交一遍ac 题意:有两个数量为n的糖果,一个人开始吃,吃到最后有一堆剩余为0的时候不吃,把另一堆留给另外一个另一个人,求另一个人得到糖果的期望, 这个人吃第一堆糖果的概率是p,第二堆糖果的概率是1-p,并且当他把一堆糖果吃完,再次吃的时候发现没有了才结束. 解:分别求出当第一堆剩余的期望,第二堆剩余的期望加起来 (n-i)*C(n+i,i)*pow(p,n+1)*pow(…
有 0到 n 个格子.掷骰子走路,求出到终点的数学期望,有飞行的路线. dp[i] 存储在i位置走到终点的期望. 转移方程dp[i]=(dp[i+1] ----> dp[i+6])/6+1; 有飞行路线则直接赋值 #include "stdio.h" #include "string.h" double dp[100010]; int hash[100010]; int main() { int n,m,x,y,i,j; while (scanf("…
也许更好的阅读体验 \(\mathcal{Description}\) 一个\(n\)面的骰子,求期望掷几次能使得每一面都被掷到 输入有\(T\)组数据,每次输入一个\(n\) 输出保留两位小数 \(\mathcal{Solution}\) 设\(f[i]\)表示已经掷到过\(i\)面,还 期望掷多少次骰子使每一面都被掷到 现在掷一次骰子,有两种情况 有\(\frac{i}{n}\)的概率掷到已经掷到过的面,此时仍然还要掷\(f[i]\)次骰子 有\(\frac{n-i}{n}\)的概率掷到没掷…
Dice Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 180    Accepted Submission(s): 121 Special Judge Problem Description You have a dice with m faces, each face contains a distinct number. We…
题意:给定三个表达式,问你求出最小的m1,m2,满足G(m1) >= F(n), G(m2) >= G(n). 析:这个题是一个概率DP,但是并没有那么简单,运算过程很麻烦. 先分析F(n),这个用DP来推公式,d[i],表示抛 i 次连续的点数还要抛多少次才能完成.那么状态转移方程就是 d[i] = 1/6*(1+d[i+1]) + 5/6*(1+d[1]), 意思就是说在第 i 次抛和上次相同的概率是1/6,然后加上上次抛的和这一次,再加上和上次不同的,并且又得从第1次开始计算. 边界就是…
简单DFS //#pragma comment(linker, "/STACK:16777216") //for c++ Compiler #include <stdio.h> #include <iostream> #include <cstring> #include <cmath> #include <stack> #include <queue> #include <vector> #inclu…
数学能力已经彻底降低到了小学水平,真是惨啊惨... 首先G(M)很容易确定,G(M) = 6 * M; H(N) = 6 * F(N),于是推出来H(N)就可以了,昨天请教了一下别人,直接数学公式搞定,不需要什么DP H(N) = 1/6 * (H(N-1) + 1) + 5/6 * (H(N-1) + 1 + H(N)) 解释一下,首先有1/6的概率扔出来1,于是有1/6 * (H(N-1) + 1),后边那部分这么想,先扔了1次,卧槽?居然不一样,那就重新扔,于是有了后面一部分...(某数学…