题目描述 传送门 分析 首先判掉 \(INF\) 的情况 第一种情况就是不能从 \(s\) 走到 \(t\) 第二种情况就是从 \(s\) 出发走到了出度为 \(0\) 的点,这样就再也走不到 \(t\) 然后我们去考虑 \(60\) 分的做法 我们设 \(dp[u]\) 为当前在点 \(u\) 走到点 \(t\) 的期望步数 那么就有 \(dp[u]=\sum_{u->v}^v((dp[v]+1) \times \frac{1}{rd[u]})\) 移项之后就变成了 \(dp[u]-\sum_…
题面传送门 之所以写个题解是因为题解区大部分题解的做法都有 bug(u1s1 周六上午在讨论区里连发两个 hack 的是我,由于我被禁言才让 ycx 代发的) 首先碰到这种期望题,我们套路地设 \(dp_u\) 为从节点 \(u\) 走到节点 \(n\) 经过的节点数的期望值,那么显然有转移方程 \(dp_u=\dfrac{1}{deg_u}(\sum\limits_{(u,v)\in E}dp_v)+1\),由于这个 \(dp\) 方程存在环,故需按照 P3232 游走 的套路进行高斯消元,具…
[BZOJ2707][SDOI2012]走迷宫 Description Morenan被困在了一个迷宫里.迷宫可以视为N个点M条边的有向图,其中Morenan处于起点S,迷宫的终点设为T.可惜的是,Morenan非常的脑小,他只会从一个点出发随机沿着一条从该点出发的有向边,到达另一个点.这样,Morenan走的步数可能很长,也可能是无限,更可能到不了终点.若到不了终点,则步数视为无穷大.但你必须想方设法求出Morenan所走步数的期望值. Input 第1行4个整数,N,M,S,T 第[2, M…
题面 传送门(loj) 传送门(洛谷) 题解 模拟赛的时候只想出了高斯消元然后死活不知道怎么继续--结果正解居然就是高斯消元卡常? 首先有个比较难受的地方是它一个回合可能不止扣一滴血--我们得算出\(P_i\)表示一回合扣\(i\)滴血的概率,为 \[P_i={{k\choose i}m^{k-i}\over (m+1)^k}\] 所以这个柿子啥意思? 我们可以把\(k\)次扣血看成一个长度为\(k\)的序列,每个序列有\(m+1\)种选择方法,于是总的选法就是\((m+1)^k\).我们要钦定…
Description 一个无向连通图,顶点从1编号到N,边从1编号到M.小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点,获得等于这条边的编号的分数.当小Z 到达N号顶点时游走结束,总分为所有获得的分数之和.现在,请你对这M条边进行编号,使得小Z获得的总分的期望值最小. Input 第一行是正整数N和M,分别表示该图的顶点数 和边数,接下来M行每行是整数u,v(1≤u,v≤N),表示顶点u与顶点v之间存在一条边. 输入保…
和游走挺像的,都是将概率转成期望出现的次数,然后拿高斯消元来解. #include <bits/stdc++.h> #define N 23 #define setIO(s) freopen(s".in","r",stdin) using namespace std; double in[N],out[N],f[N*N][N*N]; int G[N][N],deg[N],idx[N][N],tot; void Gauss(int n) { int i,j…
传送门 不知道线性基是什么东西的可以看看蒟蒻的总结 不难看出题目讲的就是线性基 这种最小化权值的问题一般都是贪心的,就是按价值从低到高考虑每一个是否能选 据说贪心的证明得用拟阵我不会 据说这题是实数意义下的线性基我还是不会……据说得用高斯消元…… 所以直接上代码好了…… //minamoto #include<cstdio> #include<algorithm> #include<cmath> #define N 505 #define eps 1e-6 #defin…
这个还挺友好的,自己相对轻松能想出来~令 $f[i]$ 表示起点到点 $i$ 的期望次数,则 $ans[i]=f[i]\times \frac{p}{q}$ #include <cmath> #include <cstdio> #include <algorithm> #define N 305 #define setIO(s) freopen(s".in","r",stdin) , freopen(s".out&quo…
3143: [Hnoi2013]游走 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 3576  Solved: 1608[Submit][Status][Discuss] Description 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点,获得等于这条边的编号的分数.当小Z 到达N号顶点时游走结束,总分为所有获得的分…
[题意]给定n个点m条边的无向连通图,每条路径的代价是其编号大小,每个点等概率往周围走,要求给所有边编号,使得从1到n的期望总分最小(求该总分).n<=500. [算法]期望+高斯消元 [题解]显然,应使经过次数越多的边编号越小,问题转化为求每条边的期望经过次数. 边数太多,容易知道f(u,v)=f(u)/out(u)+f(v)/out(v),所以转化为求每个点的期望经过次数,这就是驱逐猪猡了. 设f[x]表示点x的期望经过次数,根据全期望公式(讨论“经过“的问题不能依赖于下一步): $$f[x…