高斯消元
来源:互联网 发布:小米手机网络营销策划 编辑:程序博客网 时间:2024/04/28 00:43
作用
高斯消元可以比较快速地求解多元线性方程,在OI中有许多的应用。
实现
高斯消元的思想其实和我们以前求解二元、三元一次方程的想法一样,就是用消元的思想,先求出一定量的未知数,然后代回去求解,比如:
我们把这两个方程变成矩阵的形式:
把第一行减去4*第二行,就得到:
因为第一行只剩下了一个未知数,于是得到第二个未知数=2,然后代入第二行,得到第一个未知数为1。
一般的,对于n行n+1列的矩阵:
先找出第一列不为0的i,找到后把第i行交换到第1行(为了方便写程序),如果找不到则无解(或任意解),将2~n行均减去适当倍数的第1行,使2~n行的第1列变成0。
然后从2~n中找出第2列不为0的i,找到后把第i行交换到第2行(同理,找不到就无解),将3~n行均减去适当倍数的第2行,使3~n行的第2列变成0。
……
最后检查第n行的第n列是否为0,如果为0,则无解。否则先算出第n个未知数,然后代回第n-1行,算出第n-1个未知数,以此类推算出所有未知数。
效率
不难看出效率为
模板题
BZOJ1013,题解传送门。
0 0
- 高斯消元
- 高斯消元
- 高斯消元
- 高斯消元
- 高斯消元
- 高斯消元
- 高斯消元
- ##高斯消元##
- 高斯消元
- 高斯消元
- 高斯消元
- 高斯消元
- 高斯消元
- 高斯消元
- 高斯消元
- 高斯消元
- 高斯消元
- 高斯消元
- PAT_1029. Median
- nyoj737 石子合并(一)(区间dp)
- 用草料二维码生成器制作二维码
- delphi文件操作
- 算法导论 思考题 8-5
- 高斯消元
- oracle数据库中有数据 findone返回的为null
- 代理服务器与VPN都是什么鬼 戳完秒懂
- 小红帽安装
- java nio学习笔记(6)--selector
- 理解JAVA程序逻辑及面向对象编程思想简单总结(7)
- redis命令
- 2017,你绝对想尝试的新安卓库
- Spring Quartz 简单demo