数学期望/高斯消元/马尔可夫过程

  刘汝佳老师白书上的例题- -b

  本体不满足拓扑关系,但马尔可夫过程是可以高斯消元解的……

  用「高斯·约当消元」更方便!

 //UVA 10828
#include<cmath>
#include<vector>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#define rep(i,n) for(int i=0;i<n;++i)
#define F(i,j,n) for(int i=j;i<=n;++i)
#define D(i,j,n) for(int i=j;i>=n;--i)
#define pb push_back
using namespace std;
int getint(){
int v=,sign=; char ch=getchar();
while(ch<''||ch>''){ if (ch=='-') sign=-; ch=getchar();}
while(ch>=''&&ch<=''){ v=v*+ch-''; ch=getchar();}
return v*=sign;
}
const int N=;
const double eps=1e-;
typedef double Matrix[N][N];
/******************tamplate*********************/ void gauss_jordan(Matrix A,int n){
int i,j,k,r;
rep(i,n){
r=i;
for(j=i+;j<n;++j)
if (fabs(A[j][i]) > fabs(A[r][i])) r=j;
if (fabs(A[r][i]) < eps)continue;
if (r!=i) F(j,,n) swap(A[r][j],A[i][j]); rep(k,n) if (k!=i)
D(j,n,i) A[k][j]-=A[k][i]/A[i][i]*A[i][j];
}
}
Matrix A;
int n,d[N];
vector<int> pre[N];
bool inf[N]; int main(){
#ifndef ONLINE_JUDGE
freopen("10828.in","r",stdin);
freopen("10828.out","w",stdout);
#endif
int cs=;
while(scanf("%d",&n)== && n){
memset(d,,sizeof d);
rep(i,n) pre[i].clear();
int a,b;
while(scanf("%d%d",&a,&b)== && a && b){
a--; b--;
d[a]++;
pre[b].pb(a);
}
memset(A,,sizeof (A));
rep(i,n){
A[i][i]=;
rep(j,pre[i].size())
A[i][pre[i][j]]-=1.0/d[pre[i][j]];
if (i==) A[i][n]=;
} gauss_jordan(A,n);
memset(inf,,sizeof inf);
for(int i=n-;i>=;i--){
if ( fabs(A[i][i])<eps && fabs(A[i][n])>eps ) inf[i]=;
for(int j=i+;j<n;j++)
if (fabs(A[i][j])>eps && inf[j]) inf[i]=;
} int q,u;
scanf("%d",&q);
printf("Case #%d:\n",++cs);
while(q--){
scanf("%d",&u); u--;
if (inf[u]) printf("infinity\n");
else printf("%.3lf\n",fabs(A[u][u]) < eps ? 0.0 : A[u][n]/A[u][u]);
}
}
return ;
}

【UVA】【10828】随机程序的更多相关文章

  1. UVA 10828 - Back to Kernighan-Ritchie(概率+高斯消元)

    UVA 10828 - Back to Kernighan-Ritchie 题目链接 题意:给图一个流程图,有结点的流程,每次进入下一个流程概率是均等的,有q次询问,求出每次询问结点的运行期望 思路: ...

  2. UVa 10828 Back to Kernighan-Ritchie 高斯消元+概率DP

    题目来源:UVa 10828 Back to Kernighan-Ritchie 题意:从1開始 每次等概率从一个点到和他相邻的点 有向 走到不能走停止 求停止时每一个点的期望 思路:写出方程消元 方 ...

  3. UVa 10828 Back to Kernighan-Ritchie (数学期望 + 高斯消元)

    题意:给定一个 n 个结点的有向图,然后从 1 结点出发,从每个结点向每个后继结点的概率是相同的,当走到一个没有后继结点后,那么程序终止,然后问你经过每个结点的期望是次数是多少. 析:假设 i 结点的 ...

  4. UVa 210 并行程序模拟(deque)

    题意: 模拟n个程序运行 格式一共有5种:var = constant(赋值):print var(打印):lock:unlock:end, 上述5种语句分别需要t1.t2.t3.t4.t5单位时间 ...

  5. UVA 10828 Back to Kernighan-Ritchie(高斯消元)

    高斯消元求概率 对于非起点,期望x[i] = ∑x[j] / deg[j] #include<cstdio> #include<iostream> #include<cs ...

  6. uva 10828 高斯消元求数学期望

    Back to Kernighan-RitchieInput: Standard Input Output: Standard Output You must have heard the name ...

  7. addShutdownHook的用法

    addShutdownHook作为一个正常关闭Java程序的途径,其实是非常有用的. 有JDK文档可知,当程序正常退出,或者为响应用户中断而终止虚拟机的时候,就会调用里面的线程,来作最后的退出处理. ...

  8. hihoCoder1284机会渺茫(唯一分解定理 + 约分)

    题目链接 #1284 : 机会渺茫 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi最近在追求一名学数学的女生小Z.小Z其实是想拒绝他的,但是找不到好的说辞,于是提出 ...

  9. hiho #1284 机会渺茫

    #1284 : 机会渺茫 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi最近在追求一名学数学的女生小Z.小Z其实是想拒绝他的,但是找不到好的说辞,于是提出了这样的要 ...

随机推荐

  1. Tomcat找不到service.bat文件

    说明:我们给客户做安装包,Tomcat我们设置了编码和端口,所以用绿色版的,同时又要注册成windows服务.但是bin下面没有service.bat文件(tomcat6.exe,tomcat6x.e ...

  2. 1 . Robberies (hdu 2955)

    The aspiring Roy the Robber has seen a lot of American movies, and knows that the bad guys usually g ...

  3. ZigBee安全相关

    ZigBee安全由AES加密算法和CCM操作方式作为安全方案,广泛使用在ZigBee联盟的通信协议中.ZDO层负责安全策略和安全配置的管理. Technorati 标签: ZigBee 安全 2. 配 ...

  4. Ubuntu下第一个C程序的成功运行

    对于每个新手来说,进入Ubuntu最想做的事莫过于在终端(Terminal)里运行自己的第一个C/C++程序"hello.c/hello.cpp"了. 很多语言书籍都是默认搭载好运 ...

  5. android SDK启动的错误

    1. AVD Manager.exe : failed to execute tools android.bat 请把AVD Manager.exe复制到跟 SDK Manager.exe的相同目录下 ...

  6. shell编程基础练习

    shell作为一个人机交互的接口,在Linux中发挥着很大的作用,而shell编程则是减轻系统工程师工作的利器,这里总结一下shell编程的主要内容(趁着程序运行的空档). 本文的基本结构是shell ...

  7. WindowsMediaPlayer控件批量添加文件至播放列表

    思路: 1.读取批定路径的目录文件. 2.用List存放. 3.循环List列表添加到播放列表. public void VidieoPlay() { //WindowsMediaPlayer1.ui ...

  8. WordPress 主题开发 - (五)WordPress 主题模板及目录结构 待翻译

    While the most minimal of WordPress Themes really only need an index.php template and a style.css fi ...

  9. Android L Ripple的使用

    声明:Demo并不是有本人所写,本人只是总结在这里 工程源码: RippleDemo.zip ---------------------------------------------------- ...

  10. static方法不能直接访问类内的非static变量和不能调用this,super语句分析

    大家都知道在static方法中,不能访问类内非static成员变量和方法.可是原因是什么呢? 这首先要从static方法的特性说起.static方法,即类的静态成员经常被称为"成员变量&qu ...