BZOJ 1778 Usaco2010 Hol Dotp 驱逐猪猡 期望DP+高斯消元
题目大意:给定一个无向图,炸弹从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+高斯消元相关推荐
- bzoj 1778: [Usaco2010 Hol]Dotp 驱逐猪猡【dp+高斯消元】
算是比较经典的高斯消元应用了 设f[i]为i点答案,那么dp转移为f[u]=Σf[v]*(1-p/q)/d[v],意思是在u点爆炸可以从与u相连的v点转移过来 然后因为所有f都是未知数,高斯消元即可( ...
- 【BZOJ1778】[Usaco2010 Hol]Dotp 驱逐猪猡 期望DP+高斯消元
[BZOJ1778][Usaco2010 Hol]Dotp 驱逐猪猡 Description 奶牛们建立了一个随机化的臭气炸弹来驱逐猪猡.猪猡的文明包含1到N (2 <= N <= 300 ...
- BZOJ 1778 [Usaco2010 Hol]Dotp 驱逐猪猡 ——期望DP
思路和BZOJ 博物馆很像. 同样是高斯消元 #include <map> #include <ctime> #include <cmath> #include & ...
- [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的概率爆炸,否则等概率走向相邻的点.求在每个点爆炸的概率 高斯消元求不爆炸到达每个点的概率,然后在一个点爆炸就 ...
- BZOJ 1778: [Usaco2010 Hol]Dotp 驱逐猪猡(高斯消元+期望dp)
传送门 解题思路 设\(f(x)\)表示到\(x\)这个点的期望次数,那么转移方程为\(f(x)=\sum\frac{f(u)*(1 - \frac{p}{q})}{deg(u)}\),其中\(u\) ...
- 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 <= ...
最新文章
- 类的静态成员变量和静态成员函数的使用方法三
- 监听服务端口及邮件报警脚本
- java 最大子数组_求一个数组中子数组的最大和算法(Java实现)
- Junit Test使用样例
- 各种数据库获取前10行记录实例
- 1.11 超过人的表现
- 两轮差速机器人坐标系及运动轨迹描述
- 查找有序数组中某个数首次出现的位置
- hive 指定字段插入数据_Hive插入数据的几种常用方法
- 2021-2027全球与中国弹簧加载探针市场现状及未来发展趋势
- nurbs曲线拟合程序_基于NURBS曲线拟合的shx字体优化
- Jquery(十)jqueryUI常用功能实战
- C语言数字图像处理---ZPHOTOENGINE算法库使用
- Nodebb 开发1
- Windows-EFS加密文件
- 操作系统的内核到底是什么?
- [Iterview English] Dimission and Employ
- 下载xampp之后还用下载PHP吗,PHP 下载并安装XAMPP
- ssh远程连接报错:WARNING: POSSIBLE DNS SPOOFING DETECTED(已解决)
- 烽火通信C语言笔试题:牛市区间问题
热门文章
- STM32按键设计一之扫描
- Openwrt pppoe demand拨号问题
- 利用云信SDK实现前端实时聊天功能
- luckysheet 只读模式和编辑模式
- mac默认输入法其实挺好用
- 半监督学习:semi-supervised learning 直推学习:transductive learning 主动学习:active learning
- r语言t检验输出检验统计量_R语言的各种检验
- 微信朋友圈会在服务器上保留多久,微信朋友圈设置多久可见,暴露了你的为人...
- 如何撰写品牌故事?品牌故事软文撰写技巧分享
- 2019年南京大学计算机研究生复试分数线,2019年南京大学研究生复试分数线