矩阵树定理

news2025/4/15 9:34:46

用途

矩阵树一般用于生成树计数的问题,比如求一个无向图中生成树的个数。用矩阵树定理能极大地降低时间复杂度。

前置知识:行列式

此部分可粗略浏览,了解即可。

对于一个一阶行列式,可写作
d e t ( a 1 , 1 ) = a 1 , 1 det \left( \begin{matrix} a_{1,1} \end{matrix} \right)=a_{1,1} det(a1,1)=a1,1

对于一个二阶行列式,可写作
d e t ( a 1 , 1 a 1 , 2 a 2 , 1 a 2 , 2 ) = a 1 , 1 a 2 , 2 − a 1 , 2 a 2 , 1 det \left( \begin{matrix} a_{1,1} & a_{1,2}\\ a_{2,1} & a_{2,2} \end{matrix} \right)=a_{1,1}a_{2,2}-a{1,2}a_{2,1} det(a1,1a2,1a1,2a2,2)=a1,1a2,2a1,2a2,1

对于一个三阶的行列式,可写作
d e t ( a 1 , 1 a 1 , 2 a 1 , 3 a 2 , 1 a 2 , 2 a 2 , 3 a 3 , 1 a 3 , 2 a 3 , 3 ) = a 1 , 1 a 2 , 2 a 3 , 3 + a 1 , 2 a 2 , 3 a 3 , 1 + a 1 , 3 a 2 , 1 a 3 , 2 − a 1 , 3 a 2 , 2 a 3 , 1 − a 1 , 2 a 2 , 1 a 3 , 3 − a 1 , 1 a 2 , 3 a 3 , 2 det \left( \begin{matrix} a_{1,1} & a_{1,2} & a_{1,3}\\ a_{2,1} & a_{2,2} & a_{2,3}\\ a_{3,1} & a_{3,2} & a_{3,3} \end{matrix} \right)=a_{1,1}a_{2,2}a_{3,3}+a_{1,2}a_{2,3}a_{3,1}+a_{1,3}a_{2,1}a_{3,2}\\ \qquad\qquad \qquad \qquad\qquad\qquad-a_{1,3}a_{2,2}a_{3,1}-a_{1,2}a_{2,1}a_{3,3}-a_{1,1}a_{2,3}a_{3,2} deta1,1a2,1a3,1a1,2a2,2a3,2a1,3a2,3a3,3=a1,1a2,2a3,3+a1,2a2,3a3,1+a1,3a2,1a3,2a1,3a2,2a3,1a1,2a2,1a3,3a1,1a2,3a3,2

通过观察,我们得到 n n n阶行列式的一般定义。

p 1 , p 2 , … , p n p_1,p_2,\dots,p_n p1,p2,,pn表示一个 1 1 1 n n n的排列。若一个排列的逆序对数个数为偶数,则称这个排列为偶排列;若一个排列的逆序对数个数为奇数,则称这个排列为奇排列。


t ( p 1 , p 2 , … , p n ) = { 0 , 当 p 1 , p 2 , … , p n 是 偶 排 列 时 1 , 当 p 1 , p 2 , … , p n 是 奇 排 列 时 t(p_1,p_2,\dots,p_n)= \begin{cases} 0,\quad 当p_1,p_2,\dots,p_n是偶排列时\\ 1,\quad 当p_1,p_2,\dots,p_n是奇排列时 \end{cases} t(p1,p2,,pn)={0,p1,p2,,pn1,p1,p2,,pn

n n n阶行列式可以写成
d e t ( a 1 , 1 a 1 , 2 ⋯ a 1 , n a 2 , 1 a 2 , 2 ⋯ a 2 , n ⋮ ⋮ ⋱ ⋮ a n , 1 a n , 2 ⋯ a n , n ) = ∑ p 1 , p 2 , … p n ( − 1 ) t ( p 1 , p 2 , … , p n ) a 1 , p 1 a 2 , p 2 ⋯ a n , p n det \left( \begin{matrix} a_{1,1} & a_{1,2} & \cdots & a_{1,n}\\ a_{2,1} & a_{2,2} & \cdots & a_{2,n}\\ \vdots & \vdots & \ddots & \vdots\\ a_{n,1} & a_{n,2} & \cdots & a_{n,n} \end{matrix} \right) =\sum\limits_{p_1,p_2,\dots p_n}(-1)^{t(p_1,p_2,\dots,p_n)}a_{1,p_1}a_{2,p_2}\cdots a_{n,p_n} deta1,1a2,1an,1a1,2a2,2an,2a1,na2,nan,n=p1,p2,pn(1)t(p1,p2,,pn)a1,p1a2,p2an,pn

行列式也可写作
d e t A = d e t ( a 1 , 1 a 1 , 2 ⋯ a 1 , n a 2 , 1 a 2 , 2 ⋯ a 2 , n ⋮ ⋮ ⋱ ⋮ a n , 1 a n , 2 ⋯ a n , n ) = ∣ a 1 , 1 a 1 , 2 ⋯ a 1 , n a 2 , 1 a 2 , 2 ⋯ a 2 , n ⋮ ⋮ ⋱ ⋮ a n , 1 a n , 2 ⋯ a n , n ∣ = ∣ A ∣ det A= det \left( \begin{matrix} a_{1,1} & a_{1,2} & \cdots & a_{1,n}\\ a_{2,1} & a_{2,2} & \cdots & a_{2,n}\\ \vdots & \vdots & \ddots & \vdots\\ a_{n,1} & a_{n,2} & \cdots & a_{n,n} \end{matrix} \right)= \left| \begin{matrix} a_{1,1} & a_{1,2} & \cdots & a_{1,n}\\ a_{2,1} & a_{2,2} & \cdots & a_{2,n}\\ \vdots & \vdots & \ddots & \vdots\\ a_{n,1} & a_{n,2} & \cdots & a_{n,n} \end{matrix} \right|= |A| detA=deta1,1a2,1an,1a1,2a2,2an,2a1,na2,nan,n=a1,1a2,1an,1a1,2a2,2an,2a1,na2,nan,n=A

行列式的性质

性质1

A A A n n n阶矩阵,则 d e t A T = d e t A detA^T=detA detAT=detA

性质2

行列式任意两行(或两列)互换,行列式变号。

推论: 行列式某两行(或两列)相同时,行列式值为 0 0 0

性质3

将一行(或一列)的每个数乘实数 k k k,得到的行列式等于原来的行列式乘 k k k

推论: 行列式有两行(或两列)成比例,则行列式值为 0 0 0。特别地,当行列式有一行(或一列)全为 0 0 0时,行列式值为 0 0 0

性质4

∣ a 1 , 1 + b 1 , 1 a 1 , 2 ⋯ a 1 , n a 2 , 1 + b 2 , 1 a 2 , 2 ⋯ a 2 , n ⋮ ⋮ ⋱ ⋮ a n , 1 + b n , 1 a n , 2 ⋯ a n , n ∣ = ∣ a 1 , 1 a 1 , 2 ⋯ a 1 , n a 2 , 1 a 2 , 2 ⋯ a 2 , n ⋮ ⋮ ⋱ ⋮ a n , 1 a n , 2 ⋯ a n , n ∣ + ∣ b 1 , 1 a 1 , 2 ⋯ a 1 , n b 2 , 1 a 2 , 2 ⋯ a 2 , n ⋮ ⋮ ⋱ ⋮ b n , 1 a n , 2 ⋯ a n , n ∣ \left| \begin{matrix} a_{1,1}+b_{1,1} & a_{1,2} & \cdots & a_{1,n}\\ a_{2,1}+b_{2,1} & a_{2,2} & \cdots & a_{2,n}\\ \vdots & \vdots & \ddots & \vdots\\ a_{n,1}+b_{n,1} & a_{n,2} & \cdots & a_{n,n} \end{matrix} \right|= \left| \begin{matrix} a_{1,1}& a_{1,2} & \cdots & a_{1,n}\\ a_{2,1} & a_{2,2} & \cdots & a_{2,n}\\ \vdots & \vdots & \ddots & \vdots\\ a_{n,1} & a_{n,2} & \cdots & a_{n,n} \end{matrix} \right|+ \left| \begin{matrix} b_{1,1} & a_{1,2} & \cdots & a_{1,n}\\ b_{2,1} & a_{2,2} & \cdots & a_{2,n}\\ \vdots & \vdots & \ddots & \vdots\\ b_{n,1} & a_{n,2} & \cdots & a_{n,n} \end{matrix} \right| a1,1+b1,1a2,1+b2,1an,1+bn,1a1,2a2,2an,2a1,na2,nan,n=a1,1a2,1an,1a1,2a2,2an,2a1,na2,nan,n+b1,1b2,1bn,1a1,2a2,2an,2a1,na2,nan,n

对列也相同。

推论: 将行列式任意一行(或一列)乘一个实数 k k k再加到另一行(或另一列)上,行列式的值不变。

∣ a 1 , 1 a 1 , 2 ⋯ a 1 , n a 2 , 1 a 2 , 2 ⋯ a 2 , n ⋮ ⋮ ⋱ ⋮ a n , 1 a n , 2 ⋯ a n , n ∣ = ∣ a 1 , 1 + k ⋅ a j , 1 a 1 , 2 + k ⋅ a j , 2 ⋯ a 1 , n + k ⋅ a j , n a 2 , 1 a 2 , 2 ⋯ a 2 , n ⋮ ⋮ ⋱ ⋮ a n , 1 a n , 2 ⋯ a n , n ∣ \left| \begin{matrix} a_{1,1} & a_{1,2} & \cdots & a_{1,n}\\ a_{2,1} & a_{2,2} & \cdots & a_{2,n}\\ \vdots & \vdots & \ddots & \vdots\\ a_{n,1} & a_{n,2} & \cdots & a_{n,n} \end{matrix} \right|= \left| \begin{matrix} a_{1,1}+k\cdot a_{j,1} & a_{1,2}+k\cdot a_{j,2} & \cdots & a_{1,n}+k\cdot a_{j,n}\\ a_{2,1} & a_{2,2} & \cdots & a_{2,n}\\ \vdots & \vdots & \ddots & \vdots\\ a_{n,1} & a_{n,2} & \cdots & a_{n,n} \end{matrix} \right| a1,1a2,1an,1a1,2a2,2an,2a1,na2,nan,n=a1,1+kaj,1a2,1an,1a1,2+kaj,2a2,2an,2a1,n+kaj,na2,nan,n

行列式的计算方法

对于一个行列式
d e t A = ∣ a 1 , 1 a 1 , 2 ⋯ a 1 , n a 2 , 1 a 2 , 2 ⋯ a 2 , n ⋮ ⋮ ⋱ ⋮ a n , 1 a n , 2 ⋯ a n , n ∣ detA= \left| \begin{matrix} a_{1,1} & a_{1,2} & \cdots & a_{1,n}\\ a_{2,1} & a_{2,2} & \cdots & a_{2,n}\\ \vdots & \vdots & \ddots & \vdots\\ a_{n,1} & a_{n,2} & \cdots & a_{n,n} \end{matrix} \right| detA=a1,1a2,1an,1a1,2a2,2an,2a1,na2,nan,n
通过上述性质可将其变为上三角形式
d e t B = ∣ b 1 , 1 b 1 , 2 ⋯ b 1 , n 0 b 2 , 2 ⋯ b 2 , n ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ b n , n ∣ detB= \left| \begin{matrix} b_{1,1} & b_{1,2} & \cdots & b_{1,n}\\ 0 & b_{2,2} & \cdots & b_{2,n}\\ \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & \cdots & b_{n,n} \end{matrix} \right| detB=b1,100b1,2b2,20b1,nb2,nbn,n

设变化过程中交换行(或列)的次数为 s s s,则 d e t A = d e t B = ( − 1 ) s ∏ i = 1 n b i , i detA=detB=(-1)^s\prod\limits_{i=1}^nb_{i,i} detA=detB=(1)si=1nbi,i

也就是说,我们可以通过类似高斯消元的方式,用 O ( n 3 ) O(n^3) O(n3)的时间复杂度来求一个 n n n阶行列式的值。


矩阵树定理

n ( 1 ≤ n ≤ 12 ) n(1\leq n\leq 12) n(1n12)个点,有一些点可以连边。求有多少种连边方案,可以使这 n n n个点形成一棵树。

矩阵树定理介绍

对于一个无向图 G G G,有以下几个概念:

  • G G G的度数矩阵 D [ G ] D[G] D[G]是一个 n ∗ n n*n nn的矩阵,且满足 d i , j = { 0 i ≠ j 点 i 的 度 数 i = j d_{i,j}= \begin{cases} 0 \qquad\qquad\quad i\neq j\\ 点i的度数 \quad i=j\quad \end{cases} di,j={0i=jii=j
  • G G G的邻接矩阵 A [ G ] A[G] A[G]也是一个 n ∗ n n*n nn的矩阵,且满足 a i , j = { 1 点 i 和 点 j 之 间 有 边 相 连 0 点 i 和 点 j 之 间 没 有 边 相 连 a_{i,j}= \begin{cases} 1 \quad 点i和点j之间有边相连\\ 0 \quad 点i和点j之间没有边相连\quad \end{cases} ai,j={1ij0ij

我们定义 G G G K i r c h h o f f Kirchhoff Kirchhoff矩阵 C [ G ] C[G] C[G] C [ G ] = D [ G ] − A [ G ] C[G]=D[G]-A[G] C[G]=D[G]A[G],则 G G G所有不同生成树的个数等于其 K i r c h h o f f Kirchhoff Kirchhoff矩阵 C [ G ] C[G] C[G]的任意一个 n − 1 n-1 n1阶主子式的行列式的绝对值。

n − 1 n-1 n1阶主子式: 对于 r ( 1 ≤ r ≤ n ) r(1\leq r\leq n) r(1rn),将 C [ G ] C[G] C[G]的第 r r r行和第 r r r列同时去掉后得到的新矩阵,表示为 C r [ G ] C_r[G] Cr[G]

那么对于上面这道题,我们只需要求出其 K i r c h h o f f Kirchhoff Kirchhoff矩阵 C [ G ] C[G] C[G],再求 d e t C [ G ] det C[G] detC[G]的任意一个 n − 1 n-1 n1阶主子式的行列式的绝对值即可。

举例

一下是一个 5 5 5个点, 6 6 6条边的无向图。

在这里插入图片描述

则其 K i r c h h o f f Kirchhoff Kirchhoff矩阵为
C [ G ] = ∣ 2 − 1 − 1 0 0 − 1 2 0 − 1 0 − 1 0 3 − 1 − 1 0 − 1 − 1 3 − 1 0 0 − 1 − 1 2 ∣ C[G]= \left| \begin{matrix} 2 & -1 & -1 & 0 & 0\\ -1 & 2 & 0 & -1 & 0\\ -1 & 0 & 3 & -1 & -1\\ 0 & -1 & -1 & 3 & -1\\ 0 & 0 & -1 & -1 & 2\\ \end{matrix} \right| C[G]=2110012010103110113100112

r = 2 r=2 r=2
C 2 [ G ] = ∣ 2 − 1 0 0 − 1 3 − 1 − 1 0 − 1 3 − 1 0 − 1 − 1 2 ∣ = 2 ⋅ ∣ 3 − 1 − 1 − 1 3 − 1 − 1 − 1 2 ∣ − ( − 1 ) ⋅ ∣ − 1 0 0 − 1 3 − 1 − 1 − 1 2 ∣ = 2 × 8 + 1 × ( − 5 ) = 11 C_2[G]= \left| \begin{matrix} 2 & -1 & 0 & 0\\ -1 & 3 & -1 & -1\\ 0 & -1 & 3 & -1\\ 0 & -1 & -1 & 2\\ \end{matrix} \right| \\ \\ =2\cdot \left| \begin{matrix} 3 & -1 & -1\\ -1 & 3 & -1\\ -1 & -1 & 2\\ \end{matrix} \right|-(-1)\cdot \left| \begin{matrix} -1 & 0 & 0\\ -1 & 3 & -1\\ -1 & -1 & 2\\ \end{matrix} \right|= 2\times 8+1\times(-5)=11 C2[G]=2100131101310112=2311131112(1)111031012=2×8+1×(5)=11

上图生成树的个数就是 11 11 11个。

我们可以用类似高斯消元的方法来求行列式的值具体操作见下面例题的代码。其时间复杂度为 O ( n 3 ) O(n^3) O(n3)

证明过程比较繁琐,这里不做记录。并且在做题过程中也不需要证明,有了解,学会运用即可。


例题

SPOJ104 Highways

题目大意

给你一个有 n n n个点 m m m条边的无向图,求使每两个点间有且只有一条路线有多少方案(即求生成树的个数)。
1 ≤ n ≤ 12 1\leq n\leq 12 1n12,有多组数据。

题解

这就是一道矩阵树定理的板题。在代码中, g a u s s ( ) gauss() gauss()函数其实就是类似高斯消元的函数,利用辗转相除法,用 O ( n log ⁡ n ) O(n\log n) O(nlogn)的时间复杂度来使第 j j j行的第 i i i列的数变为 0 0 0。因为还要枚举当前行 i i i和需要修改的行 j j j,所以总时间复杂度为 O ( t ⋅ n 3 log ⁡ n ) O(t\cdot n^3\log n) O(tn3logn),对于这道题来说是可以过的。

code

#include<bits/stdc++.h>
using namespace std;
int t,n,m,x,y;
long long ans,a[105][105];
void gauss(){
	for(int i=1;i<=n;i++){
		for(int j=i+1;j<=n;j++){
			while(a[j][i]){
				long long tp=a[i][i]/a[j][i];
				for(int v=i;v<=n;v++) a[i][v]-=a[j][v]*tp;
				for(int v=i;v<=n;v++) swap(a[i][v],a[j][v]);
			}
		}
	}
}
int main()
{
	scanf("%d",&t);
	while(t--){
		scanf("%d%d",&n,&m);
		for(int i=0;i<=100;i++){
			for(int j=0;j<=100;j++) a[i][j]=0;
		}
		for(int i=1;i<=m;i++){
			scanf("%d%d",&x,&y);
			--a[x][y];--a[y][x];
			++a[x][x];++a[y][y];
		}
		for(int i=1;i<=n;i++){
			a[i][n]=a[n][i]=0;
		}
		--n;
		gauss();
		ans=1;
		for(int i=1;i<=n;i++){
			ans=ans*a[i][i];
		}
		if(ans<0) ans=-ans;
		printf("%lld\n",ans);
	}
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/88697.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]Node.js计算机毕业设计房车营地在线管理系统Express

项目运行 环境配置&#xff1a; Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境&#xff1a;最好是Nodejs最新版&#xff0c;我…

大数据学习:shell脚本

文章目录一、执行shell脚本1、直接执行脚本&#xff08;1&#xff09;绝对路径方式执行脚本&#xff08;2&#xff09;相对路径方式执行脚本2、利用source命令执行脚本3、利用bash或sh命令执行脚本二、shell脚本实战任务一&#xff1a;显示当前用户主目录1&#xff09;编写脚本…

3ds Max发生闪退怎么办?

3ds Max闪退 最近&#xff0c;小编在后台收到了一位炫云小伙伴的反馈&#xff1a;“我打开3ds Max后&#xff0c;总是出现闪退&#xff0c;究竟是什么情况&#xff1f;”实际上&#xff0c;闪退也细分为多种类型。例如&#xff1a;打开3ds Max直接闪退&#xff08;logo加载界面…

某轻工制造企业“三步走”战略,搭建一站式数据应用平台

某轻工制造企业成立于1994年&#xff0c;是中国轻工业塑料行业十强企业之一。该企业信息系统之间烟囱化&#xff0c;数据融合难、共享难&#xff0c;无法形成数据资产体系为企业创造价值。因此&#xff0c;该企业与亿信华辰合作&#xff0c;建设一站式数据应用平台&#xff0c;…

【雕爷学编程】Arduino动手做(110)---JDY-31 蓝牙模块

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

【Kubernetes】资源管理(命令)总结

kubernetes&#xff0c;是一个全新的基于容器技术的分布式架构领先方案&#xff0c;是谷歌严格保密十几年的秘密武器----Borg系统的一个开源版本&#xff0c;于2014年9月发布第一个版本&#xff0c;2015年7月发布第一个正式版本。 kubernetes的本质是一组服务器集群&#xff0…

Java+Swing图书管理系统2.0

JavaSwing图书管理系统2.0一、系统介绍二、功能展示1.用户登陆页面2.首页3.图书查询4.图书入库&#xff08;管理员&#xff09;5.图书借还情况&#xff08;管理员&#xff09;6.图书证管理&#xff08;管理员&#xff09;7.借书&#xff08;学生、老师&#xff09;8.还书&#…

pikahcu靶场-12 目录遍历,敏感信息泄露,不安全的URL跳转

目录遍历&#xff0c;敏感信息泄露&#xff0c;不安全的URL跳转 目录遍历漏洞 概述 在web功能设计中,很多时候我们会要将需要访问的文件定义成变量&#xff0c;从而让前端的功能便的更加灵活。 当用户发起一个前端的请求时&#xff0c;便会将请求的这个文件的值(比如文件名称…

Netflix:用神经网络改善视频质量

点击上方“LiveVideoStack”关注我们▲扫描图中二维码或点击阅读原文▲了解音视频技术大会更多信息编者按Editors note眼看用户视频的增长将超过服务器的算力上限&#xff0c;既没有额外的服务器来支持&#xff0c;也不能对用户体验造成大的冲击&#xff0c;Instagram的工程师找…

C罗轮播图(HTML+CSS+JS)

✅作者简介&#xff1a;热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏&#xff1a;前端案例分…

RFM 模型

RFM 模型顾客价值分析顾客价值分析 由于激烈的市场竞争&#xff0c;各个公司相继推出了多样灵活的优惠方式来吸引更多的客户。 对一个没有购买力的顾客&#xff0c;你打电话推销优惠活动毫无作用&#xff0c;可一个高价值顾客&#xff0c;会说有优惠活动怎么不通知我呢&#…

交叉梯度函数的MATLAB实现及代码分享02

交叉梯度函数的MATLAB实现及代码分享02 交叉梯度函数可用于反演成像中。作为一个连接不同物性参数的桥梁&#xff0c;交叉梯度函数可以实现不同物性参数的联合反演成像。 本文是对上一个博文的补充&#xff0c;详见交叉梯度函数的MATLAB实现及代码分享01&#xff0c;上一篇博…

人工智能导论课堂笔记

人工智能导论时间&#xff1a;2022年10月19日下午 班级&#xff1a;2022级人工智能应用技术1班 作业问题&#xff1a; Python安装注意事项 1.下载Python3.X的版本&#xff0c;如&#xff1a;3.10, 3.9&#xff0c; 3.8&#xff0c;不推荐下载2.7版本&#xff08;已经不使用&…

【Mysql】慢sql分析优化案例汇总

【Mysql】慢sql分析优化案例汇总&#xff08;一&#xff09;案例一&#xff1a;阿里云慢sql挑战赛实战&#xff08;一&#xff09;案例一&#xff1a;阿里云慢sql挑战赛实战 190毫秒干到2毫秒 【1】表结构 【2】待优化sql 【3】第一次explain分析 【4】选取驱动表 优先选择…

java项目_第174期ssm高校信息资源共享平台_ssm毕业设计

java项目_第174期ssm高校信息资源共享平台_ssm毕业设计 【源码请到下载专栏下载】 今天分享的项目是《ssm高校信息资源共享平台》 该项目分为3个角色&#xff0c;管理员、学生、教师角色。 学生可以浏览前台,包含功能有&#xff1a; 首页、课程信息、教学资源、新闻资讯。 教师…

Linux Kernel 6.0 CXL Core pci.c 详解

文章目录前言相关链接Ref正文前言 CXL 是一个比较新的技术&#xff0c;所以我研究的内核源码是选了当前比较新的内核版本 linux 6.0。打算将内核关于 CXL 的驱动进行解析一遍&#xff0c;一步一步慢慢来。 在阅读之前&#xff0c;希望读者能有一定的 PCIe 基础知识&#xff0…

java计算机毕业设计ssm智能线上教育mo0l5(附源码、数据库)

java计算机毕业设计ssm智能线上教育mo0l5&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。…

性能测试知识之三大模型

今天的这篇文章我会聊聊在实际工作中开展性能测试&#xff0c;前期最核心的工作。即业务模型、流量模型和数据模型这三大模型&#xff0c;该如何评估和建立。在性能测试工作中&#xff0c;业务模型、流量模型和数据模型是至关重要且必须在项目中构建的&#xff0c;否则很可能导…

【算法分析与设计】【期中(末)复习题】【2022秋】

文章目录一. 单选题二. 填空题三. 判断题四. 多选题一. 单选题 1.按照渐近阶从低到高的顺序排列下列表达式&#xff1a; 30n&#xff0c;2logn&#xff0c;4&#xff0c;n! A. 4<30n<2logn<n! B. 30n<4<2logn<n! C. n!<4<2logn<30n D. 4<2logn&…

YOLO算法改进之结合GradCAM可视化热力图(附详细教程)

🎄🎄YOLOv5/v7改进之结合GradCAM可视化热力图(附详细教程)🎄🎄 🚀🚀🚀NEW!!!魔改YOLOv5/v7目标检测算法来啦 ~ 🐱‍🏍 计算机视觉 —— 致力于目标检测领域科研Tricks改进与推荐 | 主要包括主干网络改进、轻量化网络、注意力机制、检测头部改进、空间金…