首页 > 其他分享 >线性代数

线性代数

时间:2024-01-18 22:56:42浏览次数:26  
标签:高消 int 边权 矩阵 异或 线性代数 可以

线性相关

若有 \(\mathbb{a}=\{a_1,a_2,\dots,a_n\}\),且 \(x\mathbb{a}=0\),那么这组向量线性相关。

大致可以理解成有一些无用的方程。

一组可以表示原来所有线性组合的向量叫做一组

如果值域只有 \(0/1\),那这就是异或线性基。

否则,上高消就可以搞出一组这样的基。

异或线性基

可以求一堆东西异或起来的最大值,求区间的这玩意(可持久化+贪心选靠后下标)。

合并线性基

直接插入,\(O(\log^2)\)。

  • 可结合线段树分治。

矩阵的秩

可以理解成最终高消完还剩下几个。代表了表示空间的维数。

初等变换不影响矩阵的秩(交换两行,一行乘 \(k\),一行乘 \(k\) 加到另一行)。

逆矩阵

同逆元定义,相乘等于单位矩阵的矩阵。

求法

高斯-约旦消元。右边拼一个单位阵,把左边消成单位阵,如果满秩,右边就是逆矩阵。

行列式

递归定义……咕咕咕。

求法

初等变换对行列式值的影响:

  • 交换:取反。

  • 乘 \(k\):乘 \(k\)

  • 乘 \(k\) 加到另一行:不变。

高消,成上三角,主对角线相乘,符号取决于交换的次数。

如果模数非质,可以使用辗转相除法。

	int f=1,ans=1;
	for(int i=1;i<n;++i){
		int p=i;
		for(int j=i+1;j<n;++j){
			if(a[j][i]>a[p][i]) p=j;
		}
		if(!a[p][i]) return 0;
		if(i!=p) swap(a[i],a[p]),f^=1;
		for(int j=i+1;j<n;++j){
			if(a[j][i]>a[i][i]) swap(a[j],a[i]),f^=1;
			while(a[j][i]){
				int d=a[i][i]/a[j][i];
				for(int k=1;k<n;++k) a[i][k]=(a[i][k]+mod-a[j][k]*d%mod)%mod;
				swap(a[i],a[j]),f^=1;
			}
		}
		ans=ans*a[i][i]%mod;
	}
	return f?ans:(mod-ans)%mod;

应用

Matrix-Tree 定理

求一个图所有生成树边权之积的和,当边权为 \(1\) 时,即求生成树个数。

构造矩阵

度数矩阵-邻接矩阵。广义地,度数是所连边权和,邻接是两点间边权和。

对于有向图,求内向生成树就是记出度和出边(可以认为每个人都要出 \(1\) 条边);求外向生成树就是记入度和入边(可以认为每个人都要入 \(1\) 条边)。

Lindström–Gessel–Viennot 引理

DAG 上求起点集合到终点集合不相交路径的带符号乘积和。

构造矩阵

\[A_{i,j}=S_i\rightarrow T_j\text{每一条路径边权的乘积和} \]

有点高级,但是有一个简单的部分应用。边权为 \(1\) 即带符号方案数。

符号的来源是起点与终点配对关系 \(S_i\rightarrow T_{p_i}\),答案中,\(p\) 的逆序对个数奇偶性决定了它的符号 \((-1)^{cnt}\)。

在网格图上划线(单调),就没有符号了,可以直接套板子,但是起点和终点若相同则需偏移。因为交换了之后不合法,正好是要减去的。

此外,一部分题目可以通过分析性质来直接套版,如 [NOI2021] 路径交点

标签:高消,int,边权,矩阵,异或,线性代数,可以
From: https://www.cnblogs.com/mRXxy0o0/p/17973603

相关文章

  • Matlab与线性代数
    %判断一个矩阵是否可以对角化并求解其对角化矩阵%定义矩阵AA=[4,2,-2;2,1,-1;-2,-1,1];%定义矩阵A%A=[4,-2;1,1];%计算特征向量和特征值[V,D]=eig(A);%判断是否存在足够数量的线性无关特征向量ifrank(V)==size(A,1)%构造对角矩阵D=d......
  • 线性代数基础-矩阵奇异值分解-02
    目录1.引入2.几何的角度理解SVD3.空间的角度理解4如何求解SVD5.SVD的应用1.引入奇异值分解,singularvaluedeconposition是6种矩阵分解方式中,综合性最强应用最广泛的分解技术,是PCA(主成分分析)的基础六种矩阵分解技术:只有矩阵为方阵(m=n)时,才有特征值;但对任何一个矩阵,都......
  • 线性代数基础-特征值与特征向量-01
    目录1.概念2.性质3.相似矩阵4.矩阵的行列式与迹5.特征值与特征向量分解矩阵1.概念特征值与特征向量的英文是eigenvalue和eigenvector,这个前缀eigen-起源于德语,意思是proper(这里应该是专属的意思)、characteristic(特征的),其实翻译成特征。矩阵A是一个线性变换,然后......
  • LA@线性代数学习总结@主要对象和问题@思想方法
    文章目录线性代数研究对象主要问题联系核心概念核心定理核心操作和运算基础高级小结性质和推导方法问题转换为线性方程组求解问题验证和推导性质定理线性代数研究对象线性代数的研究对象主要是行列式和矩阵(向量)矩阵这种对象可以做的操作和运算很多,特别是方阵,它们的计算量天然......
  • Python NumPy 线性代数
    ​ 1、矩阵和向量积矩阵和向量积可以用 numpy.dot() 函数来计算。numpy.dot()函数的两个参数分别是矩阵和向量。1)矩阵积矩阵积是两个矩阵相乘的结果。矩阵积的计算方法是将矩阵的每一行与另一个矩阵的每一列相乘,然后将各个相乘结果相加。示例代码:PythonNumPy线性代数-......
  • 线性代数题解
    前言写完了这道题我好想刚明白一点最小割???UU好闪,拜谢UU。题解首先,我们可以发现若第\(i\)行的\(B\)没选,那么第\(i\)列的\(B\)也不选,所以此时对于行和列是等价的。若\(A_i\)是\(0\),则会减少贡献\(\sum_{j}B_{i,j}\)。否则会减少贡献\(C_i\)。当\(A_i\)是\(0\)......
  • 线性代数的艺术
    推荐一本日本网友KenjiHiranabe写的《线性代数的艺术》。这本书是基于MIT大牛GilbertStrang教授的《每个人的线性代数》制作的。虽然《线性代数的艺术》这本书仅仅只有12页的内容,就把线性代数的重点全画完了,清晰明了。《线性代数的艺术》PDF版本:https://pan.quark.cn/s/a17b0......
  • 线性代数的艺术
    推荐一本日本网友KenjiHiranabe写的《线性代数的艺术》。这本书是基于MIT大牛GilbertStrang教授的《每个人的线性代数》制作的。虽然《线性代数的艺术》这本书仅仅只有12页的内容,就把线性代数的重点全画完了,清晰明了。《线性代数的艺术》PDF版本:https://pan.quark.cn/s/a17b0......
  • 线性代数导论MIT第二章知识点下
    2.3--2.7的知识点1.使用矩阵消元 2.消元矩阵 3.行交换矩阵 4.增广矩阵2.4矩阵运算规则 行与列方块矩阵与方块乘法舒尔补充2.5逆矩阵乘积AB的逆矩阵......
  • 线性代数导论MIT第二章知识点
    线性代数导论MIT第二章求解线性方程组1.向量与线性方程组  2.不同角度看方程式也就是矩阵的乘法原型:以行来看方程式就是原式以列来看方程式以矩阵来看方程式 3.消元法的概念 4.消元法的崩溃 两条线互相平行就无法消元 两条线无限多的点  5.3x3......