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

  刘汝佳老师白书上的例题- -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. EIGR的非等价均衡P

    DUAL算法(离散更新算法或扩散更新算法) 配置 1.首先配置R1的IP R1(config)#inter f0/0 R1(config-if)#ip address 200.1.1.1 255.25 ...

  2. WebService 的创建,部署和使用

    WebService,即Web服务,能使得运行在不同机器上的不同应用无须借助,专门的第三方软件或硬件,就可相互交换数据或集成. 第一次选择WebService,是为了替代数据库远程连接.我们都知道当S ...

  3. Spring中Quartz的配置

    Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在Spring中怎样配置Quartz: 首先,来写一个测试被调度的类:(QuartzHelloWorldJ ...

  4. C# 四舍五入

    1,国外的标准具体是四舍六入 Math.Round(1.267,2)     //Returns   1.27 参数1是需要处理的值; 参数2是小数点后保留几位   2,中国的标准 Math.Roun ...

  5. UML类图几种关系的总结[转]

    原文地址:http://www.open-open.com/lib/view/open1328059700311.html 在UML类图中,常见的有以下几种关系: 泛化(Generalization) ...

  6. (转)RabbitMQ消息队列(七):适用于云计算集群的远程调用(RPC)

    在云计算环境中,很多时候需要用它其他机器的计算资源,我们有可能会在接收到Message进行处理时,会把一部分计算任务分配到其他节点来完成.那么,RabbitMQ如何使用RPC呢?在本篇文章中,我们将会 ...

  7. Codevs 2627 村村通

    时间限制: 1 s   空间限制: 32000 KB  题目等级 : 黄金 Gold  题目描述 Description 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到 ...

  8. floodfill算法解题示例

    Flood fill算法是从一个区域中提取若干个连通的点与其他相邻区域区分开(或分别染成不同颜色)的经典算法.因为其思路类似洪水从一个区域扩散到所有能到达的区域而得名.在GNU Go和扫雷中,Floo ...

  9. jquery.min.map详见

    温故而知新,翻出来阮前辈的文章记录一下 日期:2013年1月23日 上周,jQuery 1.9发布. 这是2.0版之前的最后一个新版本,有很多新功能,其中一个就是支持Source Map. 访问 ht ...

  10. vmware虚拟机上网:NAT搭建局域网

    若是你不知道的情况下,可以编辑虚拟机网络配置,然后恢复默认,vmware会自动给你分配好ip,默认使用的是vmware8,下面的是使用默认的配置 看图 注意:子网的ip一定要在如上图所示的范围 适配器 ...