Description

一个无向图,节点1有一个炸弹,在每个单位时间内,有可能在这个节点炸掉,也有p/q的概率随机选择一条出去的路到其他的节点上。问最终炸弹在每个节点上爆炸的概率。

bzoj权限题,题目大概是机翻?

bzoj3270的双倍经验题(然而我大于小于分不清楚还WA了一发)

//%std
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<string>
#include<algorithm>
#include<cmath>
#include<vector>
#include<queue>
#include<stack>
#include<set>
#include<map>
using namespace std;
#define lovelive long long
#define lc son[x][0]
#define rc son[x][1]
#define lowbit(x) (x&(-x))
#define pt vc
#define P(x,y) ((x)*n-n+y)
const int N=300+30;
void read(int &x)
{int p=1;x=0;char c=getchar();while(c<'0'||c>'9'){if(c=='-')p=-1;c=getchar();}while(c>='0'&&c<='9'){x=x*10+c-48;c=getchar();}x*=p;
}
double f[N][N],ans[N];
int mp[N][N],d[N];
void gauss(int n)
{int k;double tmp;for(int i=1;i<n;i++){k=i;for(int j=i+1;j<=n;j++)if(fabs(f[i][i])<fabs(f[j][i]))k=j;for(int j=1;j<=n+1;j++)swap(f[i][j],f[k][j]);for(int j=i+1;j<=n;j++){tmp=f[j][i]/f[i][i];for(int k=i;k<=n+1;k++)f[j][k]-=f[i][k]*tmp;}}for(int i=n;i>=1;i--){ans[i]=f[i][n+1]/f[i][i];for(int j=i-1;j>=1;j--)f[j][n+1]-=ans[i]*f[j][i];}
}
int main()
{
//  freopen("testdata.in","r",stdin);
//  freopen("testdata.out","w",stdout);int n,m,a,b,x,y;double p;read(n);read(m);read(a);read(b);p=a*1.0/b;for(int i=1;i<=m;i++){read(x);read(y);mp[x][y]=mp[y][x]=1;++d[x];++d[y]; }for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)if(mp[i][j])f[i][j]=(1-p)/d[j];for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)f[i][j]=-f[i][j];for(int i=1;i<=n;i++)f[i][i]+=1;f[1][n+1]=1;gauss(n);for(int i=1;i<=n;i++)printf("%.9lf\n",ans[i]*p);return 0;
}

View Code

听说bzoj坑点很多

但是我在luogu上交的很顺利

转载于:https://www.cnblogs.com/NicoDafaGood/p/8849539.html

bzoj1778 驱赶猪猡/luogu2937 赶小猪相关推荐

  1. bzoj1778 驱逐猪猡 [高斯消元+概率DP]

    Description 奶牛们建立了一个随机化的臭气炸弹来驱逐猪猡.猪猡的文明包含1到N一共N个猪城.这些城市由M条由两个不同端点AjA_j和BjB_j (1≤Aj≤N;1≤Bj≤N)(1 \le A ...

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

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

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

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

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

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

  5. BZOJ1778 [Usaco2010 Hol]Dotp 驱逐猪猡

    把每个点拆成两个点,不爆炸和爆炸 然后就可以高斯消元求每个点的期望经过次数了,爆炸的点没有出边,所以就是爆炸的概率 题目描述有误差评,没SPJ,要保留9位小数 #include<iostream ...

  6. 【BZOJ1778】[Usaco2010 Hol]Dotp 驱逐猪猡

    题解: 网上有一种复杂的方法..好像复杂度并没有优势就没看 定义f[i]表示i的期望经过次数,f[i]=sigma{f[j]*p/q/du[j]}+(i==1); 然后高斯消元就可以了 最后求出来的f ...

  7. bzoj1778: [Usaco2010 Hol]Dotp 驱逐猪猡(概率DP+高斯消元)

    深夜肝题...有害身心健康QAQ 设f[i]为到达i的概率,d[i]为i的度数. 因为无限久之后炸弹爆炸的概率是1,所以最后在i点爆炸的概率实际上就是f[i]/sigma(f[]) 列出方程组 f[i ...

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

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

  9. 用python画猪_用python画小猪票佩奇

    加群923414804免费获取数十套PDF资料,助力python学习 turtle是python中绘制图形的库,还是挺方便的,需要的是耐心. 附上代码,网上也有很多. #使用turtle画小猪佩琪 i ...

最新文章

  1. 智慧城市搞圈地卖设备的思路该结束了
  2. 图像增强之拉普拉斯锐化---高斯一阶导二阶导数
  3. [原创]什么是CMM?
  4. MyBatis中的@Mapper注解使用
  5. Python字符串笔录
  6. 21. GD32F103C8T6入门教程-flash/fmc连续读写操作
  7. scala代码示例_Scala注释示例
  8. unity透明物体显示问题
  9. config配置文件原理及使用
  10. 如何破解 App 网络代理后出现网络不可用的情况
  11. JS阻止浏览器刷新的方法
  12. 视频分辨率,什么叫几K,什么叫几P?
  13. excel工具栏隐藏了怎么办_办公丨Excel表格新手入门基本操作技巧
  14. 思科交换机接口配置trunk_思科交换机虚拟串口配置VLAN Trunk的步骤
  15. 端口输出报错**Error** test5.ASM(60) Constant too large
  16. 游戏APP推荐,快来开启游戏时间
  17. 在Ubuntu上安装MySQL8.0数据库并使用Navicat远程访问
  18. mysql 微博 数据表_微博数据库如何设计-百度经验
  19. 反编译工具java知乎_GDA反编译器更新至3.66:支持污点传播分析、方法签名、python脚本...
  20. 【剑桥摄影协会】清晰度(Sharpness)

热门文章

  1. 如何更改VUE项目运行名称以及Logo图标
  2. QGIS绿色版工具坐标系设置
  3. 单片机STM32入门——(1)程序结构
  4. 面试中可以提问面试官的问题
  5. 谷歌浏览器复制禁止复制文字网页上的文字
  6. Mac—删除默认英文输入法
  7. 基于单片机的温湿度监测报警
  8. WordCount 官方源码解读及工程代码
  9. 英文会议口头报告(整理)
  10. 可以储存照片的字段类型是_在数据库中可用来存储图片的字段对象是哪种类型的字段?...