把计数问题转化为计算矩阵行列式
预备知识
adjacency matrix 中文是不是邻接矩阵?
有向图 The adjacency matrix \(A = A(G)\) is the\(V×V\) matrix whose entries are
\(a_{uv}\)= number of edges from u to v.
无向图 The (undirected) adjacency matrix \(A = A(G)\) is the \(V ×V\) matrix whose entries are
\(a_{uv}\) = number of edges connecting u and v.
一些结论
不解释,邻接矩阵定义和矩阵乘法定义
算矩阵幂\(A^n\) ,如果\(A\)可对角化是容易计算的
嗯其实也有办法,我找到了《矩阵分析与应用》(第2版)7.3.3矩阵幂的计算,我放在末尾附录了
第一个等号是等比数列的求和,第二个等号是克拉姆法则
不解释
\(x\)我楞了一下,应该是\(1×1\)的
\(det(A-xI)=(x-\lambda_1)...(x-\lambda_k)\)
证明那里\(Q(x)=(1-\lambda_1x)...(1-\lambda_kx)\)我楞了一下,你把A对角形式带进去就比较容易理解了
\(u,v\)和\(i,j\)记号混用,意思是那么个意思
联系了前面的Corollary 1.4.2
应用
Example1 项链染色
\(n\)个珠子围成一圈,给你\(k\)种颜色来染色,要求相邻颜色不同,求方案数目\(f(n,k)\)。(旋转和翻转视为不同的方案)
把\(k\)种颜色想成\(k\)个节点,完全图\(K_k\) ,邻接矩阵是\(A=J-I\) ,\(J\)是全1矩阵
\(A\)的\(k\)个特征值是\(-1,--1,...,-1,k-1\)
答案就是此图中长度为\(n\)的closed walk的数目
利用前面的Corollary 1.4.3
答案是\((k-1)^n+(k-1)(-1)^n\)
Example2 Words with forbidden subwords,1
给定一长\(n\)的字符串,只由{a,b}组成,且不会有子串aa(子串是连续的)。问你方案数目\(f_n\)。
说实话这个递推方程都能直接写,\(f_n=f_{n-1}+f_{n-2},f_{1}=2,f_{2}=3\)
建图就是节点a和节点b,边a→b,b→a,b→b
\(f_n\)是\(A^{n-1}\)的元素和,是Fibonacci[n+2]
Example3 Words with forbidden subwords,2
给定一长\(n\)的cyclic word,只由{a,b}组成,且不会有子串aa,abba(子串是连续的)。问你方案数目\(g_n\)。
不会,吃了没文化的亏,看不懂cyclic word是啥
我认为是好比babbb,然后它就是你的重复单元
。。。babbb|babbb|babbb|babbb。。。里找子串
这样就解释通了
Example4 Monomer-dimer problem
给你1×1和1×2的砖都是无数个,问你无重叠填充\(m×n\)大矩形的方案数目
这里介绍简单的情形,\(m=3,n=5\)
强制加上顺序,一列一列的铺,共有6条竖线
每次从上往下数,突出计0,不突出计1
一种方案的图解如下,
111--110-->011-->101-->010-->111.
这正好对应图\(G\)从111到111的长为\(5\)路径
要求的答案就是111到111的长度为6的路径数
图\(G\)到底长什么样呢?规律不是很明显
比如:
000到000肯定是0条边,
111到111有3种铺法(2+1,1+2,1+1+1),111到111有3条边
101到111有1条
110到111有2条(1+1,2)
图G长这样
接着图的邻接矩阵写出来就可以上手算啦