题目大意:给定一个无向图,炸弹从1号节点出发,每个时刻有P/Q的概率爆炸,如果某个时刻没有爆炸,就会等概率沿着随机一条出边走到下一个城市,求最终每个城市的爆炸概率

#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define M 330
using namespace std;
int n,m,p,q;
int degree[M];
double rate;
double f[M][M],ans[M];
void Gauss_Elimination()
{int i,j,k;for(i=1;i<=n;i++){k=i;for(j=i+1;j<=n;j++)if( fabs(f[j][i]) > fabs(f[k][i]) )k=j;for(j=i;j<=n+1;j++)swap(f[i][j],f[k][j]);for(j=i+1;j<=n;j++){double temp=-f[j][i]/f[i][i];for(k=i;k<=n+1;k++)f[j][k]+=f[i][k]*temp;}}for(i=n;i;i--){for(j=i+1;j<=n;j++)f[i][n+1]-=f[i][j]*ans[j];ans[i]=f[i][n+1]/f[i][i];}
}
int main()
{int i,j,x,y;cin>>n>>m>>p>>q;if(p>q) p=q;rate=(double)p/q;for(i=1;i<=m;i++){scanf("%d%d",&x,&y);degree[x]++;degree[y]++;f[x][y]+=1.0;f[y][x]+=1.0;}for(i=1;i<=n;i++)for(j=1;j<=n;j++)if(degree[j])//注意除零 f[i][j]/=degree[j];for(i=1;i<=n;i++)for(j=1;j<=n;j++)f[i][j]*=rate-1;for(i=1;i<=n;i++)f[i][i]+=1.0;f[1][n+1]=rate;Gauss_Elimination();for(i=1;i<=n;i++)printf("%.9lf\n",ans[i]);return 0;
}

BZOJ 1778 Usaco2010 Hol Dotp 驱逐猪猡 期望DP+高斯消元相关推荐

  1. bzoj 1778: [Usaco2010 Hol]Dotp 驱逐猪猡【dp+高斯消元】

    算是比较经典的高斯消元应用了 设f[i]为i点答案,那么dp转移为f[u]=Σf[v]*(1-p/q)/d[v],意思是在u点爆炸可以从与u相连的v点转移过来 然后因为所有f都是未知数,高斯消元即可( ...

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

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

  3. BZOJ 1778 [Usaco2010 Hol]Dotp 驱逐猪猡 ——期望DP

    思路和BZOJ 博物馆很像. 同样是高斯消元 #include <map> #include <ctime> #include <cmath> #include & ...

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

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

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

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

  6. BZOJ 1778: [Usaco2010 Hol]Dotp 驱逐猪猡(高斯消元+期望dp)

    传送门 解题思路 设\(f(x)\)表示到\(x\)这个点的期望次数,那么转移方程为\(f(x)=\sum\frac{f(u)*(1 - \frac{p}{q})}{deg(u)}\),其中\(u\) ...

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

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

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

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

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

    http://www.elijahqi.win/archives/3299 Description 奶牛们建立了一个随机化的臭气炸弹来驱逐猪猡.猪猡的文明包含1到N (2 <= N <= ...

最新文章

  1. 类的静态成员变量和静态成员函数的使用方法三
  2. 监听服务端口及邮件报警脚本
  3. java 最大子数组_求一个数组中子数组的最大和算法(Java实现)
  4. Junit Test使用样例
  5. 各种数据库获取前10行记录实例
  6. 1.11 超过人的表现
  7. 两轮差速机器人坐标系及运动轨迹描述
  8. 查找有序数组中某个数首次出现的位置
  9. hive 指定字段插入数据_Hive插入数据的几种常用方法
  10. 2021-2027全球与中国弹簧加载探针市场现状及未来发展趋势
  11. nurbs曲线拟合程序_基于NURBS曲线拟合的shx字体优化
  12. Jquery(十)jqueryUI常用功能实战
  13. C语言数字图像处理---ZPHOTOENGINE算法库使用
  14. Nodebb 开发1
  15. Windows-EFS加密文件
  16. 操作系统的内核到底是什么?
  17. [Iterview English] Dimission and Employ
  18. 下载xampp之后还用下载PHP吗,PHP 下载并安装XAMPP
  19. ssh远程连接报错:WARNING: POSSIBLE DNS SPOOFING DETECTED(已解决)
  20. 烽火通信C语言笔试题:牛市区间问题

热门文章

  1. STM32按键设计一之扫描
  2. Openwrt pppoe demand拨号问题
  3. 利用云信SDK实现前端实时聊天功能
  4. luckysheet 只读模式和编辑模式
  5. mac默认输入法其实挺好用
  6. 半监督学习:semi-supervised learning 直推学习:transductive learning 主动学习:active learning
  7. r语言t检验输出检验统计量_R语言的各种检验
  8. 微信朋友圈会在服务器上保留多久,微信朋友圈设置多久可见,暴露了你的为人...
  9. 如何撰写品牌故事?品牌故事软文撰写技巧分享
  10. 2019年南京大学计算机研究生复试分数线,2019年南京大学研究生复试分数线