BZOJ 1778 [Usaco2010 Hol]Dotp 驱逐猪猡 ——期望DP
思路和BZOJ 博物馆很像。
同样是高斯消元
#include <map>
#include <ctime>
#include <cmath>
#include <queue>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
#define F(i,j,k) for (int i=j;i<=k;++i)
#define D(i,j,k) for (int i=j;i>=k;--i)
#define maxn 100005
#define eps 1e-9 double a[350][350];
double ans[350];
int n,m,p,q;
int h[maxn],to[maxn],ne[maxn],en=0,du[maxn];void add(int a,int b)
{to[en]=b;ne[en]=h[a];h[a]=en++;du[a]++;}void Gauss()
{F(i,1,n){int tmp=i;F(j,i+1,n) if (fabs(a[tmp][i])<fabs(a[j][i])) tmp=j;if (tmp!=i) F(j,i,n+1) swap(a[tmp][j],a[i][j]);F(j,i+1,n) if (j!=i){double t=a[j][i]/a[i][i];F(k,i,n+1) a[j][k]-=t*a[i][k];}}D(i,n,1){F(j,i+1,n)a[i][n+1]-=a[i][j]*ans[j];ans[i]=a[i][n+1]/a[i][i];}
}int main()
{scanf("%d%d%d%d",&n,&m,&p,&q);a[1][n+1]=1.0*p/q;F(i,1,m){int x,y;scanf("%d%d",&x,&y);du[x]++;du[y]++;a[x][y]+=1.0; a[y][x]+=1.0;}F(i,1,n) F(j,1,n) if (du[j]) a[i][j]/=(double)du[j];F(i,1,n) F(j,1,n) a[i][j]*=1.0*p/q-1;F(i,1,n) a[i][i]+=1;Gauss();F(i,1,n) printf("%.9f\n",ans[i]);
}
转载于:https://www.cnblogs.com/SfailSth/p/6669920.html
BZOJ 1778 [Usaco2010 Hol]Dotp 驱逐猪猡 ——期望DP相关推荐
- BZOJ 1778 Usaco2010 Hol Dotp 驱逐猪猡 期望DP+高斯消元
题目大意:给定一个无向图,炸弹从1号节点出发,每个时刻有P/Q的概率爆炸,如果某个时刻没有爆炸,就会等概率沿着随机一条出边走到下一个城市,求最终每个城市的爆炸概率 #include <cmath ...
- bzoj 1778: [Usaco2010 Hol]Dotp 驱逐猪猡【dp+高斯消元】
算是比较经典的高斯消元应用了 设f[i]为i点答案,那么dp转移为f[u]=Σf[v]*(1-p/q)/d[v],意思是在u点爆炸可以从与u相连的v点转移过来 然后因为所有f都是未知数,高斯消元即可( ...
- [BZOJ 1778][Usaco2010 Hol]Dotp 驱逐猪猡
1778: [Usaco2010 Hol]Dotp 驱逐猪猡 Time Limit: 10 Sec Memory Limit: 64 MB Submit: 690 Solved: 269 [Sub ...
- BZOJ 1778: [Usaco2010 Hol]Dotp 驱逐猪猡 [高斯消元 概率DP]
1778: [Usaco2010 Hol]Dotp 驱逐猪猡 题意:一个炸弹从1出发p/q的概率爆炸,否则等概率走向相邻的点.求在每个点爆炸的概率 高斯消元求不爆炸到达每个点的概率,然后在一个点爆炸就 ...
- 【BZOJ1778】[Usaco2010 Hol]Dotp 驱逐猪猡 期望DP+高斯消元
[BZOJ1778][Usaco2010 Hol]Dotp 驱逐猪猡 Description 奶牛们建立了一个随机化的臭气炸弹来驱逐猪猡.猪猡的文明包含1到N (2 <= N <= 300 ...
- bzoj 1778: [Usaco2010 Hol]Dotp 驱逐猪猡
Description 奶牛们建立了一个随机化的臭气炸弹来驱逐猪猡.猪猡的文明包含1到N (2 <= N <= 300)一共N个猪城.这些城市由M (1 <= M <= 44, ...
- BZOJ 1778 [Usaco2010 Hol] Dotp 驱逐猪猡
Description 奶牛们建立了一个随机化的臭气炸弹来驱逐猪猡.猪猡的文明包含1到N (2 <= N <= 300)一共N个猪城.这些城市由M (1 <= M <= 44, ...
- bzoj 1778 [Usaco2010 Hol]Dotp 驱逐猪猡
http://www.elijahqi.win/archives/3299 Description 奶牛们建立了一个随机化的臭气炸弹来驱逐猪猡.猪猡的文明包含1到N (2 <= N <= ...
- BZOJ 1778: [Usaco2010 Hol]Dotp 驱逐猪猡 概率与期望+高斯消元
这个还挺友好的,自己相对轻松能想出来~ 令 $f[i]$ 表示起点到点 $i$ 的期望次数,则 $ans[i]=f[i]\times \frac{p}{q}$ #include <cmath&g ...
最新文章
- 习题4-11 兔子繁衍问题 (15 分)
- [shiro] - 怎样使用shiro?
- 谷歌系列 :Inception v1到v4
- DataFormatString={0:格式字符串} 用法
- nonzero的用法一则例子
- webgl 游戏_如何选择 WebGL 框架和引擎?
- Java 8 函数式编程学习笔记
- 私有云中Kubernetes Cluster HA方案
- 21天jenkins打卡前置准备:linux环境
- SQL查询分析器SQL语句导入TXT文件
- 记忆网络之Dynamic Memory Networks模型介绍及代码实现
- 利用手机传感器测量高度
- 惠普HP LaserJet Pro M104a 打印机驱动
- 前端之HTML学习笔记一(B站黑马程序员)
- RGB颜色转换为16进制颜色
- Poi读取大数据量Excel文件
- 平安好医生遭遇困局:六年亏近47亿元 价值百亿品牌或被舍弃
- 十天学会php第五天
- 虽然惊天地,但不是人人都会哭泣 ——再论Kubernetes惊天地泣鬼神之大Bug
- 多介质过滤器详细操作说明