题意

一开始在111有个炸弹,在每个点有pq" role="presentation" style="position: relative;">pqpq\frac pq的概率的爆炸,如果不爆炸则等概率地走向相邻的点

求在每个点爆炸的概率


题解

设f[u]f[u]f[u]表示走到uuu的期望次数,du" role="presentation" style="position: relative;">dudud_u表示点度,初始f1=1f1=1f_1=1

因为要不爆炸才能往下走,那么有

f[u]=∑(u,v)∈E1dv(1−pq)f[v]f[u]=∑(u,v)∈E1dv(1−pq)f[v]

f[u]=\sum_{(u,v)\in E}\frac1{d_v}(1-\frac pq)f[v]

在每个点爆炸的概率就是期望走到每个点的次数××\times爆炸的概率

因为状态转移有环,所以按照套路高斯消元就好了

注意这题卡精度,ϵ<10−13ϵ<10−13\epsilon\lt10^{-13}才行

#include<bits/stdc++.h>
#define fp(i,a,b) for(register int i=a,I=b+1;i<I;++i)
#define fd(i,a,b) for(register int i=a,I=b-1;i>I;--i)
#define go(u) for(register int i=fi[u],v=e[i].to;i;v=e[i=e[i].nx].to)
#define file(s) freopen(s".in","r",stdin),freopen(s".out","w",stdout)
template<class T>inline bool cmax(T&a,const T&b){return a<b?a=b,1:0;}
template<class T>inline bool cmin(T&a,const T&b){return a>b?a=b,1:0;}
using namespace std;
const int N=305;
const double eps=1e-15;
typedef int arr[N];
typedef double d;
int n,m,p,q;arr dg,mp[N];d pr,ans[N],G[N][N];
inline int cmp(const d&x){return fabs(x)<eps?0:(x<0?-1:1);}
inline void Gauss(int n){int mx;d t;fp(i,1,n){mx=i;fp(j,i,n)if(cmp(G[mx][i]-G[j][i]))mx=i;if(mx^i)fp(j,i,n+1)swap(G[i][j],G[mx][j]);fp(j,i+1,n)if(cmp(G[j][i])){t=G[j][i]/G[i][i];fp(k,i,n+1)G[j][k]-=t*G[i][k];}}fd(i,n,1){fp(j,i+1,n)G[i][n+1]-=ans[j]*G[i][j];ans[i]=G[i][n+1]/G[i][i];}
}
int main(){#ifndef ONLINE_JUDGEfile("s");#endifscanf("%d%d%d%d",&n,&m,&p,&q);pr=1.0*p/q;while(m--){int u,v;scanf("%d%d",&u,&v);mp[u][v]=mp[v][u]=1;++dg[u],++dg[v];}fp(i,1,n)G[i][i]=1;fp(i,1,n)fp(j,1,n)if(mp[i][j])G[i][j]+=-(1.0-pr)/dg[j];G[1][n+1]=1;Gauss(n);fp(i,1,n)printf("%.9lf\n",ans[i]*pr);
return 0;
}

[Usaco2010Hol]Dotp相关推荐

  1. 【BZOJ1778】[Usaco2010 Hol]Dotp 驱逐猪猡 期望DP+高斯消元

    [BZOJ1778][Usaco2010 Hol]Dotp 驱逐猪猡 Description 奶牛们建立了一个随机化的臭气炸弹来驱逐猪猡.猪猡的文明包含1到N (2 <= N <= 300 ...

  2. BZOJ_1778_[Usaco2010 Hol]Dotp 驱逐猪猡_概率DP+高斯消元

    BZOJ_1778_[Usaco2010 Hol]Dotp 驱逐猪猡_概率DP+高斯消元 题意: 奶牛们建立了一个随机化的臭气炸弹来驱逐猪猡.猪猡的文明包含1到N (2 <= N <= 3 ...

  3. bzoj 1778: [Usaco2010 Hol]Dotp 驱逐猪猡

    Description 奶牛们建立了一个随机化的臭气炸弹来驱逐猪猡.猪猡的文明包含1到N (2 <= N <= 300)一共N个猪城.这些城市由M (1 <= M <= 44, ...

  4. [BZOJ 1778][Usaco2010 Hol]Dotp 驱逐猪猡

    1778: [Usaco2010 Hol]Dotp 驱逐猪猡 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 690  Solved: 269 [Sub ...

  5. 2021年中国辛醇行业现状、进出口、竞争格局及未来发展趋势分析,DOTP产量增长对辛醇需求形成拉动「图」

    一.辛醇综述 辛醇,又被称为正辛醇,是一种有机化合物,为无色透明油状液体,有强烈的油脂气味和柑橘气息,不与水混溶,但与乙醇.乙醚.氯仿混溶.从产品用途来看,辛醇主要用来制备邻苯二甲酸二辛酯(DOP). ...

  6. BZOJ 1778: [Usaco2010 Hol]Dotp 驱逐猪猡 [高斯消元 概率DP]

    1778: [Usaco2010 Hol]Dotp 驱逐猪猡 题意:一个炸弹从1出发p/q的概率爆炸,否则等概率走向相邻的点.求在每个点爆炸的概率 高斯消元求不爆炸到达每个点的概率,然后在一个点爆炸就 ...

  7. ●Joyoi Dotp 驱逐猪猡

    题链: http://www.joyoi.cn/problem/tyvj-2610 题解: 期望dp,高斯消元 对于每一种到达i点的方案,都存在一个概率p, 令dp[i]表示到达i点的期望次数,那么容 ...

  8. BZOJ 1778 [Usaco2010 Hol] Dotp 驱逐猪猡

    Description 奶牛们建立了一个随机化的臭气炸弹来驱逐猪猡.猪猡的文明包含1到N (2 <= N <= 300)一共N个猪城.这些城市由M (1 <= M <= 44, ...

  9. 【bzoj1778】[Usaco2010 Hol]Dotp 驱逐猪猡 矩阵乘法+概率dp+高斯消元

    题目描述 奶牛们建立了一个随机化的臭气炸弹来驱逐猪猡.猪猡的文明包含1到N (2 <= N <= 300)一共N个猪城.这些城市由M (1 <= M <= 44,850)条由两 ...

  10. BZOJ1778: [Usaco2010 Hol]Dotp 驱逐猪猡

    BZOJ 题意 给你一张nnn个点mmm条边的无向图,最开始有一颗炸弹在一号节点,它有pq\frac{p}{q}qp​的概率爆炸,如果没有爆炸,它会等概率的移动到另一个与当前节点相连的点,问炸弹分别在 ...

最新文章

  1. 孙立岩 python-basic: 用于学习python基础的课件(161718)
  2. 差分 c语言,c语言 bmp位图差分
  3. python获取列表list里面元素的下标
  4. 光是无限远服务器有道馆吗,光是无限远服务器客户端
  5. TTL转485电路设计
  6. mosca mysql_nodejs 完成mqtt服务端
  7. sql server 向mysql前移数据-单引号问题
  8. 刷题刷题 ——网易CPP
  9. 分析师:苹果或推出自家搜索引擎;曝因芯片缺货,华为智慧屏削减30-40%订单;Rust 1.46.0 发布|极客头条
  10. 快速部署简单私有云CloudStack(下)
  11. 微信开发者工具下载使用
  12. java 文件删除不了
  13. ubuntu12.10 使用lync
  14. 搜狗收录之搜狗推送神器
  15. 差距:我是如何一步步落后于别人
  16. [国家集训队2011]跳跳棋
  17. Aspose.Slides for java 22.9最新版 官网最新
  18. 鹅厂流出两份Android Framework技术宝典火了,完整版 PDF 限时开放下载
  19. poj3616 Miking Time dp
  20. Oracle取小数点部分

热门文章

  1. Codeforces-936B Sleepy Game
  2. 反射机制之取得类的结构
  3. WebSpider和一些杂七杂八
  4. 按键拨号声音 DTMF MATLAB程序样例
  5. Binomial Coefficient(二项式系数)的计算
  6. 【android】项目案例(二)之京东客户端
  7. IDEA中使用UT测试过程中的一些小问题
  8. CSS SVG开关按钮切换网页白天和夜晚
  9. shell脚本中执行ssh
  10. Entry name ‘res/color/material_on_surface_disabled.xml‘ collided