
动态规划—概率dp
文章平均质量分 70
Ezereal
这个作者很懒,什么都没留下…
展开
-
hdu 3853 LOOPS
题意:有一个迷宫r行m列,开始点在[1,1]现在要走到[r,c]对于在点[x,y]可以打开一扇门走到[x+1,y]或者[x,y+1]消耗2点魔力问平均消耗多少魔力能走到[r,c]分析:假设dp[i][j]表示在点[i,j]到达[r,c]所需要消耗的平均魔力(期望)则从dp[i][j]可以到达:dp[i][j],dp[i+1,j],dp[i][j+1];对应概率分原创 2015-09-07 16:25:05 · 323 阅读 · 0 评论 -
(Codeforces Round #362 (Div. 2)) D. Puzzles
题意:给你一棵树,然后用dfs随即给每个点标号,求每个点标号的期望;思路:dfs+概率dp;我们可以知道根节点的期望为1;然后,他的子节点都是等概率的。dp数组是各个节点的期望。我们写第二层的排列1,1 2 4 52,1 2 5 43,1 4 2 54,1 4 5 25,1 5 2 46,1 5 4 2所以节点2的期望为dp[1]+((1+size(4)+size(5))转载 2016-10-11 09:35:49 · 363 阅读 · 0 评论 -
Hdu 5819 Knights ★
第N个骑士活到最后的情况就是他在往左走的过程中一路打败迎面走来的往右走的骑士. 考虑用f(i, j)表示前i个骑士有j个往右边走的概率,分两种情况:1) 第i个骑士初始是往左边走,于是f(i,j)=∑k=ji−1f(i−1,k)∗(12)k−j+1f(i,j) = \sum_{k=j}^{i-1}f(i-1,k)*(\frac{1}{2})^{k-j+1}f(i,j)=∑k=ji−1原创 2016-08-10 13:24:39 · 989 阅读 · 0 评论 -
HDU 5781--ATM Mechine(记忆化搜索+暴力)
题意:Alice忘记了自己银行里存了多少钱,只记得在[0,k]之间。每次取钱如果余额足够就出钱,否则警告一次,警告超过w次就会把你抓起来,在不想被警察抓起来的前提下,Alice采取最优策略,求期望取钱多少次能知道自己存了多少钱。题解:这场比赛彻底gg了,上官方题解了。这道题告诉我们,学会朴实。。。。#include #include #include #include #i原创 2016-08-03 10:05:06 · 434 阅读 · 0 评论 -
Codeforces 678E(Another Sith Tournament)
题目大意:有n个人决斗(n题目思路:看到n<=18一般都能想到状态压缩DP,但是当时并没有想到怎么转移状态,下来补题发现了一个好博客讲的很详细传送门 最后自己理解完后也讲一讲大致的思路首先一个二维DP数组 dp[1 因为我们最后是让自己存活,所以边界条件是dp[1][0]=1;表示最后只有自己存活(当然自己就是擂主),然后用这个边界去反推所有人都存活的时候,然后转载 2016-08-17 09:42:15 · 417 阅读 · 0 评论 -
hdu 4336 Card Collector
题意:有N(1每包至多一张卡片,可能没有卡片。求需要买多少包才能拿到所以的N张卡片,求次数的期望。题解:可以状态压缩进行概率DP#include #include #include #include #include #include #include #include #include #include #include #include #i原创 2016-08-01 10:32:57 · 350 阅读 · 0 评论 -
HDU 4118 Time travel (高斯消元+概率dp)
题目:给出一个数轴,有一个起点和一个终点,某个人可以走1,2,3……m步,每一种情况有一个概率,初始有一个方向,走到头则返回,问到达终点的期望步数为多少。比较明显的高斯求期望问题,好坑啊,m可能非常大,以至于同一个点走了多次,WA了我好多发#include #include #include #include #include #include #inclu原创 2016-08-01 15:47:48 · 453 阅读 · 0 评论 -
CF 148D
题意:原来袋子里有w只白鼠和b只黑鼠龙和王妃轮流从袋子里抓老鼠。谁先抓到白色老师谁就赢。王妃每次抓一只老鼠,龙每次抓完一只老鼠之后会有一只老鼠跑出来。每次抓老鼠和跑出来的老鼠都是随机的。如果两个人都没有抓到白色老鼠则龙赢。王妃先抓。问王妃赢的概率。解析:设dp[i][j]表示现在轮到王妃抓时有i只白鼠,j只黑鼠,王妃赢的概率明显 dp[0][j]=0,0原创 2016-08-01 09:45:04 · 282 阅读 · 0 评论 -
HDU 4035 Maze (经典概率dp)★
有n个房间,由n-1条隧道连通起来,实际上就形成了一棵树, 从结点1出发,开始走,在每个结点i都有3种可能: 1.被杀死,回到结点1处(概率为ki) 2.找到出口,走出迷宫 (概率为ei) 3.和该点相连有m条边,随机走一条 求:走出迷宫所要走的边数的期望值。 设 E[i]表示在结点i处,要走出迷宫所要走的边数转载 2016-08-01 09:18:54 · 420 阅读 · 0 评论 -
ZOJ 3329 One Person Game(概率DP,求期望)★
/*题意:有三个骰子,分别有k1,k2,k3个面。每次掷骰子,如果三个面分别为a,b,c则分数置0,否则加上三个骰子的分数之和。当分数大于n时结束。求游戏的期望步数。初始分数为0分析:假设dp[i]表示拥有分数i到游戏结束的期望步数则 (1):dp[i]=SUM(p[k]*dp[i+k])+p[0]*dp[0]+1;//p[k]表示增加分数为k的概率,p[0]表原创 2016-07-31 16:17:57 · 515 阅读 · 0 评论 -
POJ 2096 Collecting Bugs (基础概率DP)
题意:(题意看题目确实比较难道,n和s都要找半天才能找到) 一个软件有s个子系统,会产生n种bug 某人一天发现一个bug,这个bug属于一个子系统,属于一个分类 每个bug属于某个子系统的概率是1/s,属于某种分类的概率是1/n 问发现n种bug,每个子系统都发现bug的天数的期望。求解: dp[i][j]表示已经找到i种bug,j原创 2016-07-31 15:39:15 · 324 阅读 · 0 评论 -
poj 3744 Scout YYF I (概率DP&矩阵快速幂)★
题意: 你在一条布满地雷的道路上,开始在坐标1。每次有概率P向前走一步,有概率1-P向前走两步。道中路某几个点上会有地雷,问你安全通过的概率。地雷数N思路:假设dp[i]表示安全走到i点的概率,那么dp[i]=P*dp[i-1]+(1-P)*dp[i-2]。很简单的一个转移,但是坐标范围太大了。直接递推爆内存,而且肯定也会超时。我们换一个思路,假设x[i]表示第i转载 2016-07-31 15:26:13 · 653 阅读 · 0 评论 -
Codeforces Round #363 (Div. 1) C. LRU ★ ★
题意:n个数,长度为k的缓存,每次询问,每个数以pi的概率被选,如果不在缓存区则加入,如果缓存区满了,则第一个进缓存的出来,问10^100次询问以后每个数在缓存的概率题解把问题倒过来想。假设从最晚访问的元素开始向前加元素,加到k个为止。求第i个出现的概率。这样就不同考虑从缓存区有文件出来了。 将20个元素压位,dp[mask]记录mask状态(由 0/1 表示的状态)出现的可能性。原创 2016-10-11 16:31:17 · 428 阅读 · 0 评论