注:以下的 \(i\) 不在下标时均代表虚数单位,\([n]=\{1,2,...,n\}\)。

首先把格子当成点,连一个图出来:上下格子连向上的边,左右格子交替连向左/向右的边。这样求完美匹配方案数即可。这样假设搞出来的邻接矩阵是 \(S\)。

那么 \(ans=Pf(S)=\sqrt{\det S}\)。通过对行的缩放操作(即初等变换),可以得到另一个更便于计算的矩阵:如果两个格子竖着相邻,矩阵值为 \(i\),否则横着为 \(1\),不相邻是 \(0\)。这是 \((m\times n)^2\) 的矩阵。

考虑在 \(\C\) 上的线性空间由 \([m]\times [n]\to \C\) 的函数构成。这显然是 \(nm\) 维的。那么一个线性变换 \(L\) 的矩阵就是我们需要的:

\[(Lf)(x,y)=f(x+1,y)+f(x-1,y)+if(x,y-1)+if(x,y+1)
\]

越界就是 \(0\)。

考虑如下恒等式:

\[\sin((k-1)\theta)+\sin((k+1)\theta)=2\sin(k\theta)\cos\theta
\]

从而,考虑特征函数(对于 \((a,b)\)) \(f=\{\sin\frac{a\pi x}{n+1}\sin \frac{b\pi y}{m+1}\}_{1\le a\le m,1\le b\le n}\)。根据上面的恒等式,我就有

\[Lf=(2\cos\frac{a\pi}{n+1}+2i\cos \frac{b\pi}{m+1})f
\]

而对于所有 \(a,b\) 这个 \(f\) 应该是一组基。这样我们就构造出了特征值。

\[\det L=\prod \lambda_i=2^{ab}\prod_{a=1}^m\prod_{b=1}^n\left(\cos\frac{a\pi}{n+1}+i\cos \frac{b\pi}{m+1}\right)
\]

对其开根就得到了(设 \(2\mid m\),否则均奇数无解)

\[4^{\frac m2\lfloor \frac n2\rfloor}\prod_{a=1}^{\lfloor \frac n2\rfloor}\prod_{b=1}^{\frac m2}\left(\cos^2\frac{a\pi}{n+1}+\cos^2 \frac{b\pi}{m+1}\right)^2
\]

一个积分得到

\[ans\approx e^{Gab/pi}\approx 1.3385^{ab}
\]

其中 \(G\) 是卡特兰常数。

闲话 718:1x2 骨牌的矩形覆盖计数的更多相关文章

  1. 剑指Offer 10. 矩形覆盖 (递归)

    题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 题目地址 https://www.nowcoder.com/ ...

  2. LG3187 [HNOI2007]最小矩形覆盖

    题意 题目描述 给定一些点的坐标,要求求能够覆盖所有点的最小面积的矩形,输出所求矩形的面积和四个顶点坐标 输入输出格式 输入格式: 第一行为一个整数n(3<=n<=50000),从第2至第 ...

  3. bzoj1185 [HNOI2007]最小矩形覆盖 旋转卡壳求凸包

    [HNOI2007]最小矩形覆盖 Time Limit: 10 Sec  Memory Limit: 162 MBSec  Special JudgeSubmit: 2081  Solved: 920 ...

  4. 【剑指Offer】10、矩形覆盖

      题目描述:   我们可以用2 X 1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2 X 1的小矩形无重叠地覆盖一个2 X n的大矩形,总共有多少种方法?   解题思路:   我们可以以2 X ...

  5. 洛谷 P3187 BZOJ 1185 [HNOI2007]最小矩形覆盖 (旋转卡壳)

    题目链接: 洛谷 P3187 [HNOI2007]最小矩形覆盖 BZOJ 1185: [HNOI2007]最小矩形覆盖 Description 给定一些点的坐标,要求求能够覆盖所有点的最小面积的矩形, ...

  6. 【剑指offer】10:矩形覆盖

    题目描述: 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 解题思路: ①方法一 对于这种题没有思路怎么办?可以先从最 ...

  7. 【OpenJudge 1793】矩形覆盖

    http://noi.openjudge.cn/ch0405/1793/ 好虐的一道题啊. 看数据范围,一眼状压,然后调了好长时间QwQ 很容易想到覆盖的点数作为状态,我用状态i表示至少覆盖状态i表示 ...

  8. NOIP2002矩形覆盖[几何DFS]

    题目描述 在平面上有 n 个点(n <= 50),每个点用一对整数坐标表示.例如:当 n=4 时,4个点的坐标分另为:p1(1,1),p2(2,2),p3(3,6),P4(0,7),见图一. 这 ...

  9. bzoj 1185 旋转卡壳 最小矩形覆盖

    题目大意 就是求一个最小矩形覆盖,逆时针输出其上面的点 这里可以看出,那个最小的矩形覆盖必然有一条边经过其中凸包上的两个点,另外三条边必然至少经过其中一个点,而这样的每一个点逆时针走一遍都满足单调性 ...

  10. [剑指OFFER] 斐波那契数列- 跳台阶 变态跳台阶 矩形覆盖

    跳台阶 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. class Solution { public: int jumpFloor(int number) ...

随机推荐

  1. 话说ReferenceQueue

    也是几年前写的,在内部邮件列表里发过,在这里保存一下. 看到了这篇帖子: <WeakHashMap的神话>http://www.javaeye.com/topic/587995 因为Jav ...

  2. SQL SERVER日常运维巡检系列——结构设计

    前言 做好日常巡检是数据库管理和维护的重要步骤,而且需要对每次巡检日期.结果进行登记,同时可能需要出一份巡检报告. 本系列旨在解决一些常见的困扰: 不知道巡检哪些东西不知道怎么样便捷体检机器太多体检麻 ...

  3. echarts中label上下两行展示

    如上图展示 series: [ //系列列表 { name: '设备状态', //系列名称 type: 'pie', //类型 pie表示饼图 radius: ['50%', '70%'], //饼图 ...

  4. golang日志库之log

    查看基本使用: package main import ( "log" ) type User struct { Name string Age int } func main() ...

  5. JPEG格式研究——(3)霍夫曼解码

    因为霍夫曼编码以bit为单位,长度又不确定,读取时无法区分,JPEG采用了范式霍夫曼编码. 读取并生成霍夫曼表 JPEG中DC系数和AC系数是分别进行编码将霍夫曼表保存在DQT中. 直接上代码解释可能 ...

  6. 【Vue】前端直接显示MySQL Datatime时间,显示为英文如何处理

    问题如图 想让时间显示为自己想要的格式,可以自己编写一个函数 const formatDate= (timestamp)=> { const date = new Date(timestamp) ...

  7. Linux系统安装python3.8与卸载教程

    ln -sf /usr/local/python311/bin/python3.11 /usr/local/bin/python3ln -sf /usr/local/python311/bin/pyd ...

  8. 虚拟机搭建FISCO BCOS的区块链浏览器

    一键搭建 注:根据官方文档搭建,大部分与官方文档相似.我自己修改了部分代码,并对部分报错进行了解决这次使用的是一键搭建,适合前后端同机部署,快速体验的情况使用 具体安装步骤 依赖环境 环境 版本 Ja ...

  9. Qt编写安防视频监控系统55-布局方案

    一.前言 这是近期对视频监控系统做得最大的改动,采用了QMainWindow停靠窗体悬停窗体,极大的增强了拓展性,主界面中的各种小模块全部采用了悬停模块,最后不同的工作模式.不同的运行状态(全屏状态. ...

  10. Qt开源作品8-通用控件移动

    一.前言 在做一些项目的过程中,有一种应用场景是需要拖动设备在一个容器中,自由拖动摆放到合适的位置,然后保存对应设备的坐标位置信息,在软件启动好以后自动加载配置好的坐标位置信息,将每个设备移动到对应的 ...