闲话 718:1x2 骨牌的矩形覆盖计数
注:以下的 \(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\) 的矩阵就是我们需要的:
\]
越界就是 \(0\)。
考虑如下恒等式:
\]
从而,考虑特征函数(对于 \((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}\)。根据上面的恒等式,我就有
\]
而对于所有 \(a,b\) 这个 \(f\) 应该是一组基。这样我们就构造出了特征值。
而
\]
对其开根就得到了(设 \(2\mid m\),否则均奇数无解)
\]
一个积分得到
\]
其中 \(G\) 是卡特兰常数。
闲话 718:1x2 骨牌的矩形覆盖计数的更多相关文章
- 剑指Offer 10. 矩形覆盖 (递归)
题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 题目地址 https://www.nowcoder.com/ ...
- LG3187 [HNOI2007]最小矩形覆盖
题意 题目描述 给定一些点的坐标,要求求能够覆盖所有点的最小面积的矩形,输出所求矩形的面积和四个顶点坐标 输入输出格式 输入格式: 第一行为一个整数n(3<=n<=50000),从第2至第 ...
- bzoj1185 [HNOI2007]最小矩形覆盖 旋转卡壳求凸包
[HNOI2007]最小矩形覆盖 Time Limit: 10 Sec Memory Limit: 162 MBSec Special JudgeSubmit: 2081 Solved: 920 ...
- 【剑指Offer】10、矩形覆盖
题目描述: 我们可以用2 X 1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2 X 1的小矩形无重叠地覆盖一个2 X n的大矩形,总共有多少种方法? 解题思路: 我们可以以2 X ...
- 洛谷 P3187 BZOJ 1185 [HNOI2007]最小矩形覆盖 (旋转卡壳)
题目链接: 洛谷 P3187 [HNOI2007]最小矩形覆盖 BZOJ 1185: [HNOI2007]最小矩形覆盖 Description 给定一些点的坐标,要求求能够覆盖所有点的最小面积的矩形, ...
- 【剑指offer】10:矩形覆盖
题目描述: 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 解题思路: ①方法一 对于这种题没有思路怎么办?可以先从最 ...
- 【OpenJudge 1793】矩形覆盖
http://noi.openjudge.cn/ch0405/1793/ 好虐的一道题啊. 看数据范围,一眼状压,然后调了好长时间QwQ 很容易想到覆盖的点数作为状态,我用状态i表示至少覆盖状态i表示 ...
- NOIP2002矩形覆盖[几何DFS]
题目描述 在平面上有 n 个点(n <= 50),每个点用一对整数坐标表示.例如:当 n=4 时,4个点的坐标分另为:p1(1,1),p2(2,2),p3(3,6),P4(0,7),见图一. 这 ...
- bzoj 1185 旋转卡壳 最小矩形覆盖
题目大意 就是求一个最小矩形覆盖,逆时针输出其上面的点 这里可以看出,那个最小的矩形覆盖必然有一条边经过其中凸包上的两个点,另外三条边必然至少经过其中一个点,而这样的每一个点逆时针走一遍都满足单调性 ...
- [剑指OFFER] 斐波那契数列- 跳台阶 变态跳台阶 矩形覆盖
跳台阶 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. class Solution { public: int jumpFloor(int number) ...
随机推荐
- 基于docker的常用服务搭建
使用docker搭建相关服务: 1. MySQL服务 1) 拉取镜像 docker pull mysql:5.7 # 拉取 mysql 5.7 docker pull mysql # 拉取最新版mys ...
- 借助AI助手分析LlamaIndex的工作流可视化
接续上次的讨论,我们上次主要分析了LlamaIndex工作流的核心流程,当前还剩下一行代码需要关注,那就是关于工作流的可视化.今天我们的目标是深入理解这一可视化部分的主要流程,并且对其大体的实现方式进 ...
- C++中的多线程及其之后的周边
多线程 参考:https://zhuanlan.zhihu.com/p/613630658 平台差异:Linux 与 Windows,跨平台方案 在Linux上,有pthread的使用,而C++ 11 ...
- C# 获取系统盘符
1.使用.net管理对象(引入System.Management) public static List<string> getDisk() { WqlObjectQuery wmique ...
- 云主机安装Redis,基于CodeArts模拟电商平台秒杀抢购
本文分享自华为云社区<云主机安装Redis并模拟电商平台秒杀抢购场景>,作者:开发者空间小蜜蜂. 1.1 案例介绍 Redis 是一个高性能的key-value数据库.Redis支持各种不 ...
- cv2, pil.image, plt.image 读图的差异
人是习惯性动物,当我们第一次用opencv时,肯定会觉得opencv的imread()方式很奇怪,做图像出来天天说图像是RGB图RGB图,可opencv读出来的图,却是BGR的顺序.是不是很奇怪,还不 ...
- openEuler-怎么看服务器操作系统是不是欧拉系统?
[root@localhost ~]# cat /etc/os-release NAME="openEuler" VERSION="22.03 (LTS-SP2)&qu ...
- 【Amadeus原创】k8s添加新master或node
Master 1,在master上生成新的token [root@it-1c2d ]# kubeadm token create --print-join-command kubeadm join k ...
- C#字符串拼接的几种方式及其性能分析对比
前言 在C#编程中字符串拼接是一种常见且基础的操作,广泛应用于各种场景,如动态生成SQL查询.构建日志信息.格式化用户显示内容等.然而,不同的字符串拼接方式在性能和内存使用上可能存在显著差异.今天咱们 ...
- Qt编写推流综合应用示例-文件推流
一.功能特点 1.1 文件推流 指定网卡和监听端口,接收网络请求推送音视频等各种文件. 实时统计显示每个文件对应的访问数量.总访问数量.不同IP地址访问数量. 可指定多种模式,0-直接播放.1-下载播 ...