Tiling
Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 7264   Accepted: 3528

Description

In how many ways can you tile a 2xn rectangle by 2x1 or 2x2 tiles?
Here is a sample tiling of a 2x17 rectangle.

Input

Input is a sequence of lines, each line containing an integer number 0 <= n <= 250.

Output

For each line of input, output one integer number in a separate line giving the number of possible tilings of a 2xn rectangle.

Sample Input

2
8
12
100
200

Sample Output

3
171
2731
845100400152152934331135470251
1071292029505993517027974728227441735014801995855195223534251 【题目来源】
The UofA Local 2000.10.14
http://poj.org/problem?id=2506 【题目大意】
意思很简单,给你一块2*n的地板,问你使用1*2、2*2的瓷砖来铺有几种方法。 【题目分析】
看到样例就可以发现是高精度。
首先,我们假设前2*(n-1)块地板已经铺好了,那么我们要铺到2*n就只有一种方法,就是使用1*2这一种瓷砖。
假设前2*(n-2)块地板已经铺好了,那么我们要铺到2*n则有三种方法,也就是使用两块1*2,或者使用两块2*1,或者使用一块2*2,但是这其中有一种是包含在上面的
方法中的,所以在递推的时候只能算2种。
因此我们得到了我们的递推公式:
f(1)=1;
f(2)=1;
f(3)=3;
f(n)=f(n-1)+f(n-2)*2; 剩下的就是实现的问题,高精度简单加法。 ac代码:
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<bitset>
#include<vector>
#include<cmath>
#include<stack>
#include<queue>
using namespace std;
int ans[][];
int main()
{
int n,i,j;
while(scanf("%d",&n)!=EOF)
{
memset(ans,,sizeof(ans));
ans[][]=;
ans[][]=;
ans[][]=;
if(n<=)
{
printf("%d\n",ans[n][]);
}
else
{
int temp=;
int s=;
for(i=;i<=n;i++)
{
for(j=;j<;j++)
{
s=ans[i-][j]+ans[i-][j]*+temp;
ans[i][j]=s%;
temp=s/;
}
}
int flag=;
for(i=;i>=;i--)
{
if(flag||ans[n][i])
{
flag=;
printf("%d",ans[n][i]);
}
}
puts("");
} }
return ;
}

递推 + 高精度 --- Tiling的更多相关文章

  1. PKU 2506 Tiling(递推+高精度||string应用)

    题目大意:原题链接有2×1和2×2两种规格的地板,现要拼2×n的形状,共有多少种情况,首先要做这道题目要先对递推有一定的了解.解题思路:1.假设我们已经铺好了2×(n-1)的情形,则要铺到2×n则只能 ...

  2. 递推+高精度+找规律 UVA 10254 The Priest Mathematician

    题目传送门 /* 题意:汉诺塔问题变形,多了第四个盘子可以放前k个塔,然后n-k个是经典的汉诺塔问题,问最少操作次数 递推+高精度+找规律:f[k]表示前k放在第四个盘子,g[n-k]表示经典三个盘子 ...

  3. [luogu]P1066 2^k进制数[数学][递推][高精度]

    [luogu]P1066 2^k进制数 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻 ...

  4. [BZOJ1089][SCOI2003]严格n元树(递推+高精度)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1089 分析: 第一感觉可以用一个通式求出来,但是考虑一下很麻烦,不好搞的.很容易发现最 ...

  5. 【BZOJ】1002: [FJOI2007]轮状病毒 递推+高精度

    1002: [FJOI2007]轮状病毒 Description 给定n(N<=100),编程计算有多少个不同的n轮状病毒. Input 第一行有1个正整数n. Output 将编程计算出的不同 ...

  6. BZOJ 1002 FJOI2007 轮状病毒 递推+高精度

    题目大意:轮状病毒基定义如图.求有多少n轮状病毒 这个递推实在是不会--所以我选择了打表找规律 首先执行下面程序 #include<cstdio> #include<cstring& ...

  7. 【BZOJ】1089: [SCOI2003]严格n元树(递推+高精度/fft)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1089 题意:求深度为d的n元树数目.(0<n<=32, 0<=d<=16) ...

  8. 递推+高精度 UVA 10497 Sweet Child Makes Trouble(可爱的孩子惹麻烦)

    题目链接 题意: n个物品全部乱序排列(都不在原来的位置)的方案数. 思路: dp[i]表示i个物品都乱序排序的方案数,所以状态转移方程.考虑i-1个物品乱序,放入第i个物品一定要和i-1个的其中一个 ...

  9. Uva10328 dp(递推+高精度)

    题目链接:http://vjudge.net/contest/136499#problem/F 题意:给你一个硬币,抛掷n次,问出现连续至少k个正面向上的情况有多少种. 一个比较好理解的题解:原题中问 ...

随机推荐

  1. cache verilog实现

    cache原理: https://www.cnblogs.com/mikewolf2002/p/10984976.html cache的verilog实现 实现的cache是16k, 4way组相连c ...

  2. APP手势密码绕过

    之前写的文章收到了很多的好评,主要就是帮助到了大家学习到了新的思路.自从发布了第一篇文章,我就开始筹备第二篇文章了,最终打算在07v8首发,这篇文章我可以保障大家能够学习到很多思路.之前想准备例子视频 ...

  3. weblogic漏洞

    1 weblogic控制台地址暴露 ²  整改方法: 禁用weblogic控制台.在weblogic域(sguap-domain和base-domain)的config下的config.xml中 &l ...

  4. CTF-代码审计(1)——parse_str()变量覆盖

    题目连接:http://222.18.158.226:7000/iscc.php 考点:parse_str()变量覆盖 代码: PHP知识点: 1.parse_url() 参照网址:https://w ...

  5. 【学习笔记】PYTHON网络爬虫与信息提取(北理工 嵩天)

    学习目的:掌握定向网络数据爬取和网页解析的基本能力the Website is the API- 1 python ide 文本ide:IDLE,Sublime    Text集成ide:Pychar ...

  6. CPU使用率与负载的爱恨情仇

    今天有一个电话面试,面试官问我:CentOS怎么查看CPU负载?我说:看top的第一行有load average.面试官又问:为什么从这就判定是负载高呢?依据是什么呢?然后... 然后我就尴尬了,挂了 ...

  7. ansible自动化运维04

    ansible playbook ansible-playbook命令格式: ansible-playbook  [option]  filename(剧本名字) ansible-playbook 命 ...

  8. 201871020225-牟星源《面向对象程序设计(JAVA)》第二周学习总结

    正文: 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-dai ...

  9. 16-C#笔记-枚举

    枚举同C++ using System; namespace EnumApplication { class EnumProgram { enum Days { Sun, Mon, tue, Wed, ...

  10. Java反射之Bean修改更新属性值等工具类

    package com.bocean.util; import java.lang.annotation.Annotation; import java.lang.reflect.Field; imp ...