决定写[WC 2011]XOR一题。
先学了高斯消元法。它和我以前想的解线性方程组的方法很相似。那时在学化学方程式的配平,我发现用待定系数法、根据元素守恒列方程就好了。为了表现自己“彻底”解决了这个问题,我写了个解线性方程组的程序。发现代入法不好实现,便决定采用加减消元法。又发现消元完毕后,会形成一个三角形(好神奇!),回代很方便。于是有了如下的大致思路:以第1个方程的未知数1为基准,消掉第2~n个方程中的未知数1;以第2个方程的未知数2为基准,消掉第3~n个方程中的未知数2……最后剩下第n个方程,只有一个未知数,而整个方程组形成了一个三角形,把第n个未知数代入第(n-1)个方程解出未知数(n-1),把第n、(n-1)个未知数代入第(n-2)个方程解出未知数(n-2)……整个过程结束后,方程组就解完了。已经忘记一些细节是怎么处理的了,比如我不记得我有交换行的步骤,也许压根就没处理吧……
但是我并没懂得XOR和高斯消元法的联系——听说是经典应用?线性基——这是什么鬼?
经历了头痛欲裂的四五天(没有心情写作业或者睡觉或者研究其他题,听课质量低下),我释然了。是该学习一下线性代数,至少有个感性的认知。找了一套公开课http://open.163.com/special/opencourse/daishu.html,大概能在本年之内学完。
Lecture 1
2016.5.17
线性方程组可以横着看(row picture),可以竖着看(column picture)。横着看是我们熟知的解析几何,竖着看是向量的线性组合(linear combination)。
例子:
它们可以是平面上两条直线 2x-y = 0、-x+2y = 3,也可以是向量的线性组合:
解Ax = b是线性代数里的重要问题。Ax是A的列向量的线性组合。
Lecture 2
2016.5.19
高斯消元。初等形式已经会了,有趣的是可以用矩阵来表示。我还没有明白矩阵是什么,暂且理解为一些排列成矩形、用方括号括起来的数,它们可以看成一些行向量排成一行行,也可以看成一些列向量排成一列列。
以
为例。
它的系数矩阵是
Step 1 以(1, 1)为主元,行2-3x行1: