概率DP
青竹梦
在你没有尽全力之前,永远不知道最强的自己有多强!!!
展开
-
hdu-3853-LOOPS-概率dp
用记忆化写概率DP写的越来越纯真了。。感觉记忆化很好写。。。#include #include#include#includeusing namespace std;#define maxn 1100#define eps 1e-6#define zero(x) (fabs(x)<0?0:x)double mp[maxn][maxn][4];double dp[maxn]原创 2014-06-23 19:31:22 · 897 阅读 · 0 评论 -
hdu-4418-Time travel-高斯+概率dp
把N个点先转化为2*N-2个点。比如说把012345转化成0123454321。这样,就可以找出任意两两个点之间的关系。然后根据关系可以得出来一个一元多项式的矩阵。然后就用高斯消元求出矩阵即可。#include#include#include#include#include#includeusing namespace std;#define eps 1e-6#原创 2014-06-24 23:35:04 · 1750 阅读 · 0 评论 -
hdu-4035-Maze-树上的概率dp
对于叶子节点和非叶子节点非别列公式。然后化简公式。和非树上的差不多。。#include#include#include#include#include#include#includeusing namespace std;#define eps 1e-9#define zero(x) ((fabs(x)<eps?0:x))#define maxn 11000#de原创 2014-06-27 15:48:53 · 965 阅读 · 0 评论 -
hdu-4089-Activation-概率dp
kuangbin题解写的很好,我就不赘余了。。一下解释来自kuangbin:题意:有n个人排队等着在官网上激活游戏。Tomato排在第m个。对于队列中的第一个人。有一下情况:1、激活失败,留在队列中等待下一次激活(概率为p1)2、失去连接,出队列,然后排在队列的最后(概率为p2)3、激活成功,离开队列(概率为p3)4、服务器瘫痪,服务器停止激活,所有人都无法激活了。原创 2014-06-25 16:05:32 · 1472 阅读 · 0 评论 -
poj-2096-Collecting Bugs-概率DP
期望dp。dp[x][y]:已经遇到x个bug,y个sub,还需要的期望步数。则:设:p1=x/n;p2=(n-x)/n;p3=y/s;p4=(s-y)/s;dp[x][y]=p1*p3*(dp[x][y]+1) +p2*p4*(dp[x+1][y+1]+1) +p2*p3*(dp[x+1][y]+1) +p1*p4*(dp[x][y+1]原创 2014-06-23 15:48:34 · 835 阅读 · 0 评论 -
zoj-3329-One Person Game-有环的概率DP
感觉kuangbin写的题解不错,就直接抄袭过来啦。。。地址:http://www.cnblogs.com/kuangbin/archive/2012/10/03/2710648.html题意:有三个骰子,分别有k1,k2,k3个面。每次掷骰子,如果三个面分别为a,b,c则分数置0,否则加上三个骰子的分数之和。当分数大于n时结束。求游戏的期望步数。初始分数为0设dp[i原创 2014-06-24 15:31:52 · 997 阅读 · 0 评论 -
hdu-4336-Card Collector-概率DP
以后还是使用递推把,不能用记忆化了,记忆化太耗时间了。。。因为N很小,所以我们可以用状态压缩。用压缩起来的状态表示已经拥有的卡片。然后根据状态之间的关系进行求解。#include #include#include#includeusing namespace std;#define maxn 110000#define eps 1e-6#define zero(x) (f原创 2014-06-23 21:15:21 · 1116 阅读 · 5 评论 -
zoj-3640-Help Me Escape-概率DP
dp[x]:能力为x的时候,逃出的期望。则,可以根据x,来算出期望的公式。#include #include#include#includeusing namespace std;#define maxn 110000#define eps 1e-6#define zero(x) (fabs(x)<0?0:x)double dp[maxn];int c[maxn];in原创 2014-06-23 20:32:54 · 958 阅读 · 0 评论 -
hdu-4405-Aeroplane chess-概率DP
还是那么做。。。无非加了一条跳转。。。几乎都差不多。。#include #include#include#includeusing namespace std;#define maxn 110000#define eps 1e-6#define zero(x) (fabs(x)<0?0:x)double dp[maxn];int pre[maxn];int n;dou原创 2014-06-23 19:39:47 · 779 阅读 · 0 评论 -
poj-3744-Scout YYF I-矩阵乘法
f[i]=f[i-1]*p+f[i-2]*(1-p);正好可以用矩阵加速。。。。#include#include#include#include#includeusing namespace std;struct matr{ double mat[3][3]; friend matr operator *(const matr a,const matr b)原创 2014-06-20 22:47:42 · 1189 阅读 · 0 评论