唐老师的博客[n<=100可做]
歪果仁的超强PPT,看完之后你就知道怎么做[nm<=500的情况](只要你忽略证明)
搜FKT,完美匹配计数统统搜不到。
只有搜51nod1034 v3。。。
或是 Counting perfect matchings in planar graphs
才搜的到。
这个在国内也太冷了吧。
我来用中文复述一遍PPT内容:
1.1*2骨牌铺格子可以转化为求完美匹配数 P e r f e r t m a t c h Perfertmatch Perfertmatch。
2.定义排列M,让M中第 2 i 2i 2i个和第 2 i + 1 2i+1 2i+1个匹配。
发现 P e r f e c t m a t c h = ∑ M ∏ A 2 i , 2 i + 1 Perfectmatch = \sum_{M}\prod A_{2i,2i+1} Perfectmatch=M∑∏A2i,2i+1
A i , j = 1 A_{i,j}=1 Ai,j=1当且仅当 i , j i,j i,j间有边。
3.这个形式让我们想到了行列式,结合矩阵树定理的经验开始往行列式靠。
然后发现按 M M M的逆序对数为奇数乘一个 − 1 -1 −1否则不乘后得到的:
P f a f f i a n = ∑ M s g n ( M ) ∏ A 2 i , 2 i + 1 Pfaffian = \sum_{M}sgn(M)\prod A_{2i,2i+1} Pfaffian=M∑sgn(M)∏A2i,2i+1
s g n ( M ) sgn(M) sgn(M)即为-1或1。
如果 A A A满足 ∀ i , j A i , j = − A j , i \forall i,j\ A_{i,j} = -A_{j,i} ∀i,j Ai,j=−Aj,i
有:
平面图完美匹配计数——(这个叫)FKT算法(Fast Kasteleyns technique?)【求1*2多米诺骨牌铺格子的(博主)已知最快算法】
最新推荐文章于 2021-11-19 02:10:21 发布