POJ: 2663 Tri tiling
来源:互联网 发布:二维码扫描软件ios 编辑:程序博客网 时间:2024/04/30 09:48
POJ: 2663 Tri tiling
由于1*2的骨牌拼成区域的面积始终为2的倍数,而矩阵的面积为3*n
可以推断出,该矩阵必定由且仅由3*2,3*4,…3*n(n为偶数)的不可分割的小矩阵构成,比如:
如上所示,可以看出:
n=2时有三种状态;
n>=4(n=4的情况没列完)有2种不可分割的状态(|_ … _|或对称的情形)。
可以得到递推式如下,其中a[n]中存储3*n对应的结果,初始化a[0]=1,a[n]=0(n不为0):
则 a[n] =3a[n-2]+2a[n-4]+2a[n-6]+…
a[n-2]=3a[n-4]+2a[n-6]+2a[n-8]+…
a[n]= -a[n-2]+4a[n-2]+2a[n-4]+2a[n-6]+…
a[n]-a[n-2]=-a[n-2]+4a[n-2]+2a[n-4]-3a[n-4]
化简可得a[n]=4a[n-2]-a[n-4],可知需要设初值a[0]=1,a[2]=3,n从4开始时可利用递推式求解。
实现如下:
#include <stdio.h> int i = 4, n, a[31] = { 0 };int main() {for (a[0] = 1, a[2] = 3; i<31; ++i) a[i] = a[i - 2] * 4 - a[i - 4];while (scanf("%d", &n), n>-1) printf("%d\n", a[n]);system("pause");return 0;}
0 0
- poj 2663 Tri Tiling
- poj 2663 Tri Tiling
- POJ-2663-Tri Tiling
- poj 2663 Tri Tiling
- POJ-2663-Tri Tiling
- POJ 2663 Tri Tiling
- POJ 2663 Tri Tiling
- POJ 2663 Tri Tiling
- POJ 2663 Tri Tiling
- POJ: 2663 Tri tiling
- poj 2663 Tri Tiling dp(矩形填充)
- poj 2663 Tri Tiling(递推)
- Tri Tiling - POJ 2663 递推
- poj 2663 Tri Tiling 状压dp
- POJ 2663 Tri Tiling 递推
- poj 2663 Tri Tiling(推公式)
- poj 2663 Tri Tiling--状压dp
- POJ 2663 Tri Tiling(完美覆盖)
- 51nod 1449 砝码称重
- Linux启动过程
- 数学API Math.atan() 和Math.atan2() 三角函数复习
- hive 安装详解
- 机器学习回归篇-多元线性回归
- POJ: 2663 Tri tiling
- Maven入门指南① :Maven 快速入门及简单使用
- 创建第一个SpringBoot
- C++中stringstream的使用方法和样例
- JAVA中ArrayList的用法
- Centos7.2 安装zabbix3.X
- hibernate中的多对多
- hive的基本操作(重点)
- 程序员应该具备的十个项目习惯