2009年4月4日星期六

高斯消元和初等行列变换

正在痛苦地准备AHOI.....不过我能不能去还是个问题。
上次的市选,我是满分,SXY满分,其他的人或多或少都有一些错,可能是大家都没怎么认真去考,所以就有点差吧。好多人都出了低级的错误,这让我们都很惊讶。
好,下面转入正题。
今天去做了AHOI2007的day1,题目难度还是有的。我要真去做.....50分。
第一题和第二题都是数学题....第三题我没敢看,估计我三个小时还不一定写的出来。
第一题估计是一道扩展欧几里德算法的应用,应该不难吧......但是我不会扩展欧几里德啊......今天晚上把它切掉。
第二题是这篇文章讨论的重点了:
题意就是求矩阵的逆,数学家可以不看了。
我上网查了半天,终于弄明白矩阵的逆是要用传说中的初等行变换求得....于是我又去查了半天初等行变换.....就本题来说,我想到的第一个算法极其愚昧:根据矩阵乘法,可以写出N组N个一组的N元一次方程,最后用高斯消元一个一个解掉.....O(n^4)......上网查半天之后,得出这个结论:这道题可以在原矩阵的右边再写一个I矩阵,然后用初等行变换同时对这两个矩阵进行操作,最后把原矩阵变换为I矩阵的时候,右边的I矩阵也变换为了原矩阵的逆.......好诡异......
但是我当时居然傻X的不会如何把原矩阵变换为I矩阵.........
于是又上网查......
最后在一个很牛的网站上查到了这个东西,看完我就一拍桌子站起来:靠,这不就是高斯消元吗?
所不同的就是在高斯消元的时候,我们是把系数矩阵化为一个上三角矩阵,然后再进行回带。而求矩阵的逆则是在化为上三角矩阵之后,继续使用行变换把上三角矩阵的上三角也给划掉,最后留一条对角线。
其实如果带上常数项,也同样进行行列变换的话,最后化出来的对角线矩阵所对的常数矩阵也就是方程的解了。
看来我的那本线性代数没好好看啊.....说的也是,我的《工科线性代数》放在家里已经一年了,我连10页都没翻到。
话说回来,搞OI的还真是痛苦.....还要学线性代数,组合数学,基础离散数学(数论和图论),还有一大坨的东西,生物化学物理都不能差,阅读理解能力要好,否则题目都读不懂......英语要很不错,否则各大OJ上的题目你都不要想读懂......痛苦啊......

没有评论:

发表评论