HDU 4089 Activation 概率DP 难度:3】的更多相关文章

http://acm.hdu.edu.cn/showproblem.php?pid=4089 这道题中一共有两个循环: 1.事件1 如果一直落在Activation failed事件上,那么就会重新继续直到出现事件2,3,或4为止, 这样 进入事件2的概率是p2'=p2+p2*p1+p2*p1*p1........解这个无穷级数得到p2'=p2/(1-p1),同理,p3'=p3/(1-p1),p4=p4/(1-p1) 2.事件2 设dp[i][j]为队列长度为i,主角在j时满足条件的概率,则 当…
题意: 有n个人排队等着在官网上激活游戏.Tomato排在第m个. 对于队列中的第一个人.有以下情况: 1.激活失败,留在队列中等待下一次激活(概率为p1) 2.失去连接,出队列,然后排在队列的最后(概率为p2) 3.激活成功,离开队列(概率为p3) 4.服务器瘫痪,服务器停止激活,所有人都无法激活了. 求服务器瘫痪时Tomato在队列中的位置<=k的概率 思路: 概率DP. 找不到思路的主要原因是不清楚dp数组到底用来表示什么. 进而无法合适地分析状态转移. 概率DP是将从当前状态到最终状态一…
After 4 years' waiting, the game "Chinese Paladin 5" finally comes out. Tomato is a crazy fan, and luckily he got the first release. Now he is at home, ready to begin his journey. But before starting the game, he must first activate the product…
kuangbin的博客 强 #include <bits/stdc++.h> using namespace std; const int MAXN = 2005; const double eps = 1e-10; int n, m, k; double p1, p2, p3, p4; double dp[2][MAXN], c[MAXN], pp[MAXN]; int main() { while(~scanf("%d%d%d%lf%lf%lf%lf", &n,…
http://acm.hdu.edu.cn/showproblem.php?pid=4050 题意: 现在主角站在0处,需要到达大于n的位置 主角要进入的格子有三种状态: 0. 不能进入 1. 能进入左脚,下一步出右脚 2. 能进入右脚,下一步出左脚 3. 两只脚都能进入,而且下一步迈出左右脚都可. 也就是说,如果只有1,2种状态的格子,那么主角只能重复左脚-右脚-左脚...或者右脚-左脚-右脚 但是有了状态为3的格子,就能够左脚-左脚-左脚这样走路 设e[i][sta]为主角在编号为i的方格状…
11年北京现场赛的题目.概率DP. 公式化简起来比较困难....而且就算结果做出来了,没有考虑特殊情况照样会WA到死的.... 去参加区域赛一定要考虑到各种情况.   像概率dp,公式推出来就很容易写出来了. /* HDU 4098 题意:有n个人排队等着在官网上激活游戏.Tomato排在第m个. 对于队列中的第一个人.有一下情况: 1.激活失败,留在队列中等待下一次激活(概率为p1) 2.失去连接,出队列,然后排在队列的最后(概率为p2) 3.激活成功,离开队列(概率为p3) 4.服务器瘫痪,…
HDU 3853    LOOPS 题目大意是说人现在在1,1,需要走到N,N,每次有p1的可能在元位置不变,p2的可能走到右边一格,有p3的可能走到下面一格,问从起点走到终点的期望值 这是弱菜做的第一道概率DP的题,首先是看了一下有关概率DP的资料,大概知道一般球概率就是从起点推到终点,求期望就是从终点推到起点 考虑这题的做法,其实很简单设DP[i][j]表示从i,j到达终点所需时间的期望值 DP[i][j] =p1 *  DP[i][j] + p2 * DP[i][j+1] + p3 * D…
http://acm.hdu.edu.cn/showproblem.php?pid=1099 最最简单的概率dp,完全是等概率转移. 设dp[i]为已有i张票,还需要抽几次才能集齐的期望. 那么dp[n]=0,因为我们已经集齐了. \[dp[i]=(\frac{i}{n}*dp[i]+\frac{n-i}{n}*dp[i+1])+1\] 移项得答案. 然后写个分数类,注意约分. #include<bits/stdc++.h> using namespace std; typedef long…
题意: 飞行棋,从0出发要求到n或者大于n的步数的期望.每一步可以投一下筛子,前进相应的步数,筛子是常见的6面筛子. 但是有些地方可以从a飞到大于a的b,并且保证每个a只能对应一个b,而且可以连续飞,例如a到b,b到c,则可以直接从a到c. 思路: 先用并查集将小的编号并入编号大的集合,然后就是常见的概率DP的模式. 错误: 并查集的数组初始化的时候应该初始化n+6,不能直接初始化成n. 从n-1进行状态的求解,因为n的时候也是0. #include<stdio.h> #include<…
题目 /*********************复制来的大致题意********************** 有N个数字,M个操作, 区间L, R. 然后问经过M个操作后落在[L, R]的概率. *******************************************************/ //自己做,错掉了,然后参考了别人的解法,说是要 概率dp //概率模拟题,一定要用概率来模拟, //因为数据很大,可能超了__int64, //模拟方式用dp[2][], 0表示前一个状…