现在的位置: 首页 > 综合 > 正文

高斯小结

2018年04月05日 ⁄ 综合 ⁄ 共 1049字 ⁄ 字号 评论关闭

高斯消元是一个线代的问题,将增广矩阵化成阶梯型矩阵求解

高斯消元入门,总共有4种题,

    其一:异或方程组,这中间最重要的是枚举自由元!也就是一个简单的搜索。

    其二:”同余方程组“这个同余是说,所有的方程同余。

    其三:高斯消元解实数问题,这个应该是最经典的高消了吧。

    其四:高消解决整数解的问题。

高斯消元易错点:(1)构造系数时,最好先清零在用a[i][j]+=val,不要直接用a[i][j]=val,容易出错,如下面hdu 4326题。

(2)用分数类做时,最好保证分母为正,不已出错。

1.解决实数问题:

(1)http://acm.hdu.edu.cn/showproblem.php?pid=3359

//这题是有唯一解

实现代码:http://my.csdn.net/my/code/detail/13312


(2)http://acm.hdu.edu.cn/showproblem.php?pid=4326

题意:给定n个人比赛,编号1到n。每轮队首四个人比赛,输的3人按比赛前相对位置放在队首,赢的放在队首。每轮每个人胜利的概率一样。问第k个人连续赢m场比赛的概率。

解题思路:对于这题,我们首先确立一个这样的模型: x1先赢了i局,正在于x2,x3,x4赌斗,后面依次有x5,x6,……,xn等待。用P[i][j]表示x1先赢了i局的情况下,当前的xj获胜的概率。
不难得到以下的一些式子:

注意构造系数的时候用+=,不要直接用=赋值,因为下面的等式p[i][j]可能用p[i][j]转移过来。例如只有4个人,p[1][4]=1/4*p[2][4]+2/4*p[1][4]+1/4*p[1][1]
,这里p[1][4]要由p[1][4]转移过来,那么如果直接赋值就先赋值-1在赋值2/4这样就错了。

0<=i < m
P[i][j] = P[i + 1][j] * 1/4 + P[1][n - 2] * 3/4 
j = 1
P[i + 1][n - 2] * 1/4 + P[1][1] * 1/4 + P[1][n - 1] * 2/4 
j = 2
P[i + 1][n - 1] * 1/4 + P[1][1] * 1/4 + P[1][n - 1] * 1/4 + P[1][n] * 1/4   j = 3
P[i + 1][n] * 1/4 + P[1][1] * 1/4 + P[1][n] * 2/4
 j = 4
P[i + 1][j - 3] * 1/4 + P[1][j - 3] * 3/4 j >=4
i = m
P[i][j] = 1     j = 1
P[i][j] = 0
    j != 1

实现代码:http://my.csdn.net/my/code/detail/13314


抱歉!评论已关闭.