描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1778 炸弹从1出发,有\(\frac{P}{Q}\)的概率爆炸,如果不爆炸,等概率移动到连通的点.求在每个点爆炸的概率. 分析 我们构造一个\(n\)行\(n\)列的矩阵\(f\),其中\(f[i][j]\)表示从\(i\)移动到\(j\)的概率. 那么\(f^2\)中\(f^2[i][j]\)是\(f[i][k]\times{f[k][j]}\)得来的,也就是\(i\to{k}\to{j}…
BZOJ_1778_[Usaco2010 Hol]Dotp 驱逐猪猡_概率DP+高斯消元 题意: 奶牛们建立了一个随机化的臭气炸弹来驱逐猪猡.猪猡的文明包含1到N (2 <= N <= 300)一共N个猪城.这些城市由M (1 <= M <= 44,850)条由两个不同端点A_j和B_j (1 <= A_j<= N; 1 <= B_j <= N)表示的双向道路连接.保证城市1至少连接一个其它的城市.一开始臭气弹会被放在城市1.每个小时(包括第一个小时),它有…
BZOJ_3143_[Hnoi2013]游走_期望DP+高斯消元 题意: 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点,获得等于这条边的编号的分数.当小Z 到达N号顶点时游走结束,总分为所有获得的分数之和. 现在,请你对这M条边进行编号,使得小Z获得的总分的期望值最小. 分析: 题可以转化为求每条边被通过次数的期望.每条边的期望等于两个端点被通过次数的期望乘上通过这条…
深夜肝题...有害身心健康QAQ 设f[i]为到达i的概率,d[i]为i的度数. 因为无限久之后炸弹爆炸的概率是1,所以最后在i点爆炸的概率实际上就是f[i]/sigma(f[]) 列出方程组 f[i]=sigma(f[to]*(1-p/q)/d[to]+[i==1]*(1-p/q)) 然后就可以高斯消元了 高斯消元的方法:自己的那一位是1,to的每一位上为-(1-p/q)/d[to],n+1位上为0,这样就相当于x减去所有to为0.1的n+1上为1-p/q,因为炸弹还可能在自己这里不跑. 这题…
[BZOJ1778][Usaco2010 Hol]Dotp 驱逐猪猡 Description 奶牛们建立了一个随机化的臭气炸弹来驱逐猪猡.猪猡的文明包含1到N (2 <= N <= 300)一共N个猪城.这些城市由M (1 <= M <= 44,850)条由两个不同端点A_j和B_j (1 <= A_j<= N; 1 <= B_j <= N)表示的双向道路连接.保证城市1至少连接一个其它的城市.一开始臭气弹会被放在城市1.每个小时(包括第一个小时),它有P/…
题目链接 可能这儿的会更易懂一些(表示不想再多写了). 令\(f[i][j]\)表示从\((i,j)\)到达最后一行的期望步数.那么有\(f[n][j]=0\). 若\(m=1\),答案是\(2(n-x)\). 否则,显然有\[f[i][1]=\frac13(f[i+1][1]+f[i][1]+f[i][2])+1\\f[i][j]=\frac14(f[i+1][j]+f[i][j]+f[i][j-1]+f[i][j+1])+1,\ 1<j<m\\f[i][m]=\frac13(f[i+1][…
地下迷宫 Time Limit:1000MS  Memory Limit:32768K Description: 由于山体滑坡,DK被困在了地下蜘蛛王国迷宫.为了抢在DH之前来到TFT,DK必须尽快走出此迷宫.此迷宫仅有一个出口,而由于大BOSS的力量减弱影响到了DK,使DK的记忆力严重下降,他甚至无法记得他上一步做了什么.所以他只能每次等概率随机的选取一个方向走.当然他不会选取周围有障碍的地方走.如DK周围只有两处空地,则每个都有1/2的概率.现在要求他平均要走多少步可以走出此迷宫. Inpu…
题目链接 一个点到达终点的期望步数 \(E_i=\sum_{(i,j)\in G}\frac{E_j+1}{out[i]}\),\(out[i]\)为点\(i\)的出度. 那么对于一个DAG可以直接在反向图上拓扑+DP求解. 于是对于环内高斯消元,缩点后拓扑+DP. 无解(无限步)的情况: 起点到不了终点:起点能够走到一个环,且在这个环内无法走到终点(走不出去). ps:1.T连出的边不能计算. 2.期望的计算式有个+1! 3.建反向边! 4.重边 注: 如果\(E_i\)表示从起点到点\(i\…
题意 题目链接 Sol 设\(f[i]\)表示从\(i\)走到\(T\)的期望步数 显然有\(f[x] = \sum_{y} \frac{f[y]}{deg[x]} + 1\) 证明可以用全期望公式. 那么我们可以把每个强联通分量里的点一起高斯消元,就做完了. (warning:BZOJ没有C++11,但是下面的代码是正确的,至于为什么可以点题目链接....) #include<bits/stdc++.h> using namespace std; const int MAXN = 1e6 +…
题意 题目链接 Sol mdzz这题真的太恶心了.. 首先不难看出这就是个高斯消元解方程的板子题 \(f[x] = \sum_{i = 1}^n f[to(x + i)] * p[i] + ave\) \(ave\)表示每次走的期望路程 然后一件很恶心的事情是可以来回走,而且会出现\(M > N\)的情况(因为这个调了两个小时..) 一种简单的解决方法是在原序列的后面接一段翻转后的序列 比如\(1 \ 2 \ 3 \ 4\)可以写成\(1 2 3 4 3 2\) 然后列式子解方程就行了 附送一个…