概率DP
文章平均质量分 79
九野的博客
这个作者很懒,什么都没留下…
展开
-
POJ 3744 Scout YYF I 概率dp+矩阵快速幂
题目链接:点击打开链接题意:离散的一维坐标轴开始人在0点,每次有p概率向→跳一格, 1-p概率跳两格。下面n个数表示在这些格子上有地雷,踩到就屎。问安全通过的概率。思路:若不考虑地雷,跳到某一格的概率就是dp[i] = dp[i-1]*p + dp[i-2]*(1-p)很容易想到转移方程: dp[i]=p*dp[i-1]+(1-p)*dp[i-2];原创 2014-11-09 14:10:01 · 1223 阅读 · 0 评论 -
Codeforces 167B Wizards and Huge Prize 概率dp(水
题目链接:点击打开链接题意:给定n个对手,至少要击败其中 l 个人,现在有口袋容量为 k下面n个数字表示击败这个人的概率下面n个数字(若为-1表示击败这个人可以获得一个金币,若>0则表示可以增加口袋容量为这个数字)问:至少击败其中的l个人,且获得的总口袋容量 >= 获得的金币个数 的概率是多少。(即任何时候金币都不能放不下)思路:概率dp要注意的是有可能原创 2014-10-29 13:28:09 · 1399 阅读 · 0 评论 -
ZOJ 3329 One Person Game 概率dp 处理环
题目链接:点击打开链接#include #include #include #include using namespace std;int kkk[3], a[3];double p[30];double dp[551], A[550], B[550];double work(){ int n; cin>>n; for(int i = 0; i原创 2014-11-16 23:36:45 · 1100 阅读 · 0 评论 -
HDU 5001 Walk 求从任意点出发任意走不经过某个点的概率 概率dp 2014 ACM/ICPC Asia Regional Anshan Online
HDU 5001 Walk 求从任意点出发任意走不经过某个点的概率 概率dp 2014 ACM/ICPC Asia Regional Anshan Online题意:给定n个点m条边的无向图问:从任意点出发任意走d步,从不经过某个点的概率dp[i][j]表示从不经过i点的前提下,走了d步到达j点的概率。#include #include #include #include #include #include #include using namespace std;#de原创 2014-09-13 17:23:14 · 1684 阅读 · 0 评论 -
Codeforces 280C Game on Tree 概率dp 树上随机删子树 求删完次数的期望
题目链接:点击打开链接题意:给定n个点的一棵树每次操作随机选任意一个点,把这个点和这个点的子树删去。当把所有点删去则停止。问操作次数的期望。题解引用自:点击打开链接删除的规则拥有一个非常好的性质:对于任意(u,v),选择u会导致删除v,那么选择u会删除的点集合一定包含选择了v以后会删除的点集合。我们考虑换一种方式来实现删除的过程:产生一个随机的1-n的排列P,从原创 2014-12-03 00:28:59 · 3055 阅读 · 0 评论 -
Aizu 2303 Marathon Match 概率dp
题目链接:点击打开链接题意:一场马拉松给定n个运动员,跑道上有m个休息站,马拉松跑道长L下面n行每行3个参数表示每个运动员崩溃概率:P 休息时间:E 跑步速度:V。每个运动员随时会崩溃,崩溃后会坚持到下一个休息站,进入休息他的休息时间。全程匀速运动,可能多次崩溃。问:每个运动员成为唯一一个第一名的概率。思路:其实可以转换成每个运动员进入下一个休息站的概率是P原创 2014-12-04 16:33:21 · 1401 阅读 · 0 评论 -
UVA 11600 Masud Rana 并查集+状压概率dp
题目链接:点击打开链接题意:给定一个无向图,给定的边是已经存在的边,每天会任选两个点新建一条边(建过的边还会重建)问:使得图连通的天数的期望。思路:状压喽,看别人都是这么写的,n=30,m=0 我也不知道怎么办了。。当前连通块点数为X 加入一个Y个点的连通块需要的天数为 Y/(n-X);Masud Rana, A Daring Spy Of Bangladesh Cou原创 2015-01-30 10:27:54 · 1650 阅读 · 0 评论 -
Codeforces 513C Second price auction 概率dp 求期望
题目链接:点击打开链接题意:有n个人去竞拍一件商品,下面给出n个区间表示每个人出的价是区间中随机的一个数(概率均等)则第一名需要付的钱是第二名的竞拍价格(允许并列第一名)求支付的钱的期望。思路:枚举付的钱,然后求付这个钱的概率,相乘后求和即可。对于确定支付x元 分类讨论一下:1、第一名出价大于x枚举第一名,然后剩下来的人至少一个人出x元,其他人出P(剩下原创 2015-02-08 19:26:32 · 1633 阅读 · 0 评论 -
Codeforces 513G1 513G2 Inversions problem 概率dp
题目链接:点击打开链接题意:给定n ,k下面n个数表示有一个n的排列,每次操作等概率翻转一个区间,操作k次。问:k次操作后逆序数对个数的期望。思路:dp[i][j]表示 a[i] 在a[j] j前面的概率初始就是 dp[i][j] = 1( i 则对于翻转区间 [i, j], 出现的概率 P = 1 / ( n * (n+1) /2)并且会导致 [i,原创 2015-02-08 20:53:08 · 1717 阅读 · 0 评论 -
HDU 4336 Card Collector 状压+概率dp
题目链接:点击打开链接dp[i] 表示已经拥有卡片的状态为i, 还需要吃多少包才能拥有所有卡片,显然 dp[(1而答案就是dp[0];用样例二举例,下面dp方程内直接用二进制表示,为了方便观察,我们用最高位表示第一张卡片(P1=0.1),最低位表示第n张卡片(P2=0.4) dp[01] = (dp[01]+ 1)* P + (dp[11]+1) *P2 //其中P表示吃不原创 2015-03-20 21:03:15 · 1107 阅读 · 0 评论 -
Codeforces 235B Let's Play Osu! 概率dp(水
题目链接:点击打开链接给定n表示有n个格子下面每个格子为O的概率是多少。对于一段连续 x 个O的价值就是 x*x ;问:获得的价值的期望是多少。思路:把公式拆一下。。#include const int N = 100005;double dp[N][2], p[N];int main(){ int n; scanf("%d", &n); fo原创 2014-10-29 13:32:41 · 1636 阅读 · 0 评论 -
Codeforces 148D Bag of mice 概率dp(水
题目链接:http://codeforces.com/problemset/problem/148/D题意:原来袋子里有w只白鼠和b只黑鼠龙和王妃轮流从袋子里抓老鼠。谁先抓到白色老师谁就赢。王妃每次抓一只老鼠,龙每次抓完一只老鼠之后会有一只老鼠跑出来。每次抓老鼠和跑出来的老鼠都是随机的。如果两个人都没有抓到白色老鼠则龙赢。王妃先抓。问王妃赢的概率。解析:设dp[i][j]原创 2014-10-26 13:56:22 · 1169 阅读 · 0 评论 -
LightOJ 1038 Race to 1 Again 期望 记忆化dp
题目链接:点击打开链接1038 - Race to 1 AgainPDF (English)StatisticsForumTime Limit: 2 second(s)Memory Limit: 32 MBRimi learned a new thing about integers, whic原创 2014-08-18 00:17:12 · 2662 阅读 · 0 评论 -
POJ 2096 Collecting Bugs 概率dp(水
题目链接:点击打开链接题意:点击打开链接对于这里的dp做法是:写一个状态x,然后把从x转移出去的方程写出来,即 x = y1+y2+···其中所有的yi都是已知的。这样我们就会得到一个方程是从未知到已知。但是dp是由已知到未知。所以我们再呵呵回来。。#include #include #include #include #include原创 2014-10-20 20:18:27 · 1224 阅读 · 0 评论 -
HDU 4035 Maze 概率dp+树形dp
题解:点击打开链接#include #include #include #include #include #include #include using namespace std;const double eps = 1e-9;const int N = 10010;vector G[N];int n;double k[N], e[N], dp[N];do原创 2014-10-21 14:22:36 · 1244 阅读 · 0 评论 -
UVALive 6175 Maximum Random Walk 期望+概率dp
题目链接:点击打开链接原创 2014-09-27 18:50:32 · 1371 阅读 · 0 评论 -
HDU 4599 Dice 2013 ACM-ICPC吉林通化全国邀请赛J题
转载自http://www.cnblogs.com/allh123/archive/2013/08/25/3281039.html先推出F(n)的公式:设dp[i]为已经投出连续i个相同的点数平均还要都多少次才能到达目标状态。则有递推式dp[i] = 1/6*(1+dp[i+1]) + 5/6*(1+dp[1]).考虑当前这一次掷色子,有1/ 6的概率投的和前面的一样,有5/6转载 2013-09-01 16:16:36 · 1805 阅读 · 0 评论 -
UVA 10529 Dumb Bones 概率dp 求期望
题目链接:点击打开链接题意:要在一条直线上摆多米诺骨牌。输入n, l, r要摆n张排,每次摆下去向左倒的概率是l, 向右倒的概率是r可以采取最优策略,即可以中间放一段,然后左右两边放一段等,摆放顺序任意。问:在最佳策略下要摆成n张牌的期望次数。思路:点击打开链接#include #include #include #include #incl原创 2014-10-17 23:46:08 · 1599 阅读 · 0 评论 -
BNU 34978 汉诺塔 求期望步数
题目链接:点击打开链接我们用dp[i]表示 随机i个盘子时,恢复原位需要的步数的期望f[i]表示i个盘子下普通的汉诺塔玩法的步数既然是随机,那么我们就认为是在上一次随机的情况下,把第n个放到任意一根柱子的底部那么若随机放到了第3个柱子,则步数就是dp[n-1]若放到了第1根柱子,则先把前面的n-1个盘子移动到第2根柱子上,花费是dp[n-1]然后再把n盘子移动到原创 2014-08-14 00:02:26 · 1738 阅读 · 0 评论 -
HDU 4405 Aeroplane chess 概率dp
题目大意: 跳棋有0~n个格子,每个格子X可以摇一次色子,色子有六面p(1=(copy的思路:先处理一下每个点最远能飞到的点保证只会往终点的方向飞。。能确定的状态就是最终n-n+5这6个点的步数是0然后从后往前递推#include #include #include #include #include #原创 2014-10-19 21:27:24 · 1179 阅读 · 0 评论 -
HDU 3853 LOOPS 概率dp(水
水水过~#include #include #include #include #include template inline bool rd(T &ret) { char c; int sgn; if(c=getchar(),c==EOF) return 0; while(c!='-'&&(c'9')) c=getchar();原创 2014-10-25 23:39:33 · 1339 阅读 · 0 评论 -
Codeforces 54C First Digit Law 数位dp+概率dp
题目链接:点击打开链接题意:给定n个区间下面n个区间从每个区间中任选一个数。则一共选出了n个数给出K(问选出的n个数中 最高位是1的个数 占n个数的百分之K以上的概率是多少。先求出对于第i个区间 ,选出的数最高位是1的概率P[i]dp[i][j] 表示前i个数选了j个最高位是1的概率.///////////////////////////////////原创 2015-03-31 14:13:05 · 1233 阅读 · 0 评论