摘要: 题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3593 带环的概率DP一般的做法是求出转移方程,然后高斯消元解方程。但是这里的环比较特殊,都是指向f[0]。 此题的转移方程为:f[i]=Σ(f[i+k]*p[k])+f[0]*p[0]+1. 我们可以设 f[i]=A[i]*f[0]+B[i].带入右边有: f[i]=Σ(A[i+k]*f[0]*p[k]+B[i+k]*p[k])+f[0]*p[0]+1. -> f[i]=Σ(A[i+k]*p[k... 阅读全文
posted @ 2013-08-05 17:58 zhsl 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=3744 简单的概率DP,分段处理,遇到mine特殊处理。f[i]=f[i-1]*p+f[i-2]*(1-p),i!=w+1,w为mine点。这个概率显然是收敛的,可以转化为(f[i]-f[i-1])/(f[i-1]-f[i-2])=p-1。题目要求精度为1e-7,在分段求的时候我们完全可以控制进度,精度超出了1e-7就不运算下去了。当然此题还可以用矩阵乘法来优化。 考虑概率收敛代码: 1 //STATUS:C++_AC_0MS_164KB 2 #include 3 #include 4 #include 5 //#i... 阅读全文
posted @ 2013-08-05 17:47 zhsl 阅读(340) 评论(0) 推荐(0) 编辑