9273:PKU2506Tiling

来源:http://noi.openjudge.cn/ch0202/9273/

总时间限制:2000ms  单个测试点时间限制:1000ms
内存限制:131072kB
描述
    对于一个2行N列的走道。现在用1*2,2*2的砖去铺满。问有多少种不同的方式。
    下图是一个2行17列的走道的某种铺法。

输入
    整个测试有多组数据,请做到文件底结束。每行给出一个数字N,0 <= n <= 250
输出
    如题
样例输入
    2
    8
    12
    100
    200
样例输出
    3
    171
    2731
    845100400152152934331135470251
    1071292029505993517027974728227441735014801995855195223534251

分析:
f[n] = f[n-1] + f[n-2]*2 ;

使用这个递推公式,再加上高精度计算即可。

综合了高精度、递推,而且高精度的运用比较熟悉、巧妙。

代码来源:http://blog.csdn.net/c20180630/article/details/52329721

     #include<iostream>
#include<cstdio>
using namespace std;
int a[][]; //a[i]用来存储一个大整数,其中a[i][0]存储长度,真实数据倒序存储。
int max(int x,int y){return x>y?x:y;}
int main()
{
a[][]=;
a[][]=;
a[][]=;
a[][]=;
for(int i=;i<=;i++){
for(int j=;j<=max(a[i-][],a[i-][]);j++)
a[i][j]=a[i-][j]+a[i-][j]*; //高精度加法(按位加的操作)
a[i][]=max(a[i-][],a[i-][]);
for(int j=;j<=a[i][];j++){ //高精度加法的进位
a[i][j+]+=a[i][j]/;
a[i][j]%=;
}
while(a[i][a[i][]+]){ //更新高精度加法结果的位数
a[i][]++;
a[i][a[i][]+]+=a[i][a[i][]]/;
}
}
int n;
while(cin>>n){
if(n==)
cout<<<<endl;
else{
for(int i=a[n][];i>=;i--)
cout<<a[n][i];
cout<<endl;
}
}
}

9273:PKU2506Tiling的更多相关文章

  1. 递归--练习11--noi9273 PKU2506Tiling

    递归--练习11--noi9273 PKU2506Tiling 一.心得 25 a[i]%=10;(高精度时) 26 这里错了,花了好久改好 27 28 29 int* f(int n){ 30 if ...

  2. 投入OJ的怀抱~~~~~~~~~~

    OpenJudge C20182024 信箱(1) 账号 修改设定 退出小组 管理员 frank 林舒 Dzx someone 李文新 公告 11-05 程序设计与算法(大学先修课) 成员(61910 ...

  3. SQL Server 随机数,随机区间,随机抽取数据rand(),floor(),ceiling(),round(),newid()函数等

    在查询分析器中执行:select rand(),可以看到结果会是类似于这样的随机小数:0.36361513486289558,像这样的小数在实际应用中用得不多,一般要取随机数都会取随机整数.那就看下面 ...

  4. docker核心原理

    容器概念. docker是一种容器,应用沙箱机制实现虚拟化.能在一台宿主机里面独立多个虚拟环境,互不影响.在这个容器里面可以运行着我饿们的业务,输入输出.可以和宿主机交互. 使用方法. 拉取镜像 do ...

  5. SQL中随机数函数rand()简介

    转自:http://database.51cto.com/art/201009/224397.htm 下文将为您介绍SQL中的随机函数rand(),供您参考,如果您是才接触SQL Server的新手, ...

  6. MATLAB处理信号得到频谱、相谱、功率谱

    (此帖引至网络资源,仅供参考学习)第一:频谱 一.调用方法 X=FFT(x):X=FFT(x,N):x=IFFT(X);x=IFFT(X,N) 用MATLAB进行谱分析时注意: (1)函数FFT返回值 ...

  7. ASP.NET MVC系列:为已有模型添加新的属性

    在模型类Movie中添加一个新的属性Rating

  8. 30天,O2O速成攻略【7.18广州站】

    活动概况 时间:2015年07月18日13:30-16:30 地点:贝塔咖啡(新港中路TIT创意园内创意西路07号楼) 主办:APICloud.七牛.洪海网络 网址:www.apicloud.com ...

  9. Matlab基础

    基本运算: 一,矩阵的生成 clc ; clear all; close all; 1.直接输入 A = [ 1 ,2 ,3,4;2,3,4,5;3,4,5,6] A = 1 2 3 4 2 3 4 ...

随机推荐

  1. Win2008建立域时administrator账户密码不符合要求

    在win2008中建立域时,有时会出现administrator账户密码不符合要求的现象,报错会说明目前本地administrator账户不需要密码.这是什么原因造成的呢?原来,目前的2008镜像在网 ...

  2. c++流缓冲学习---rdbuf()

    我们使用STL编程的时候有时候会想到把一个流对象指向的内容用另一个流对象来输出,比如想把一个文件的内容输出到显示器上,我们可以用简单的两行代码就可以完成: ifstream infile(" ...

  3. cesium js学习一加载三维模型【转】

    http://blog.csdn.net/tangyajun_168/article/details/50936698 最近项目中用到室外三维模型与室内三维地图交互,室外三维模型的加载我们采用了ces ...

  4. CSS-返回顶部代码

    现在的网站基本上都是长页面,多的有四五屏,少的话也有两三屏,页面太长有的时候为了提升用户体验,会在页面右边出现一个回到顶部的按钮,这样能快速回到顶部,以免在滑动页面出现视觉屏幕,回到顶部一般有四种方式 ...

  5. Druid连接池简介和配置

    Druid是什么?有什么作用?  Druid首先是一个数据库连接池,但它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQL Parser. Druid ...

  6. HTML5基础扩展——地理位置、本地存储、缓存

    HTML5扩展,继上两篇博客,我们来看一下HTML5的一些扩展的功能,由于HTML5更多是为了兼容电脑浏览器,安卓浏览器,苹果浏览器更多浏览器,或者说为这些浏览器提供一个统一的标准.因此目前在手机上的 ...

  7. VS2010如何生成ActiveX控件测试容器

    VS2010中默认没有ActiveX控件测试容器TSTCON.exe,而是微软把这个文件放到了例子程序中,需要用户自己编译: 具体方法为: 在VS2010的安装目录中找到以下目录Samples\205 ...

  8. ICTCLAS中的HMM人名识别

    http://www.hankcs.com/nlp/segment/ictclas-the-hmm-name-recognition.html 本文主要从代码的角度分析标注过程中的细节,理论谁都能说, ...

  9. 设置py文件的路径

    想在IDLE中打开py文件,需要设置PYTHONPATH环境变量: 设置后,就能在IDLE的Path Browser中看到sys.path了: 然后,就可以用import了

  10. java注解Annotation的使用实例

    1.注解的定义 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java. ...