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. 获取机器的基本参数cat /proc/stat

    获取机器的基本参数cat /proc/stat Note : This guide is applicable to Linux kernels 2.6.14 and above, which add ...

  2. 奇怪吸引子---AnishchenkoAstakhov

    奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...

  3. [2014亚马逊amazon] 在线笔试题 大于非负整数N的第一个回文数 Symmetric Number

    1.题目 如标题,求大于整数N(N>=0)的第一个回文数的字符串表示形式. 这个题目也是当时笔试第一次见到,花了一个小时才做出了.慢慢总结还是挺简单的. 2.分析 分析如下: (1)一位数N(9 ...

  4. python将控制台输出保存至文件

    很多时候在Linux系统下运行python程序时,控制台会输出一些有用的信息.为了方便保存这些信息,有时需要对这些信息进行保存.这里介绍几种将控制台输出保存到文件中的方式:1 重定向标准输出流重定向标 ...

  5. LDA(latent dirichlet allocation)的应用

    http://www.52ml.net/1917.html 主题模型LDA(latent dirichlet allocation)的应用还是很广泛的,之前我自己在检索.图像分类.文本分类.用户评论的 ...

  6. Github上Stars最多的53个深度学习项目,TensorFlow遥遥领先

    原文:https://github.com/aymericdamien/TopDeepLearning 项目名称 Stars 项目介绍 TensorFlow 29622 使用数据流图计算可扩展机器学习 ...

  7. 【Python】torrentParser1.00

    代码: #------------------------------------------------------------------------------------ # torrentP ...

  8. C++ 构造与析构的执行顺序

    1.代码如下:class A{public: int _Id; A():_Id(0) { printf("A[%d]\n",_Id); } ~A() { printf(" ...

  9. C#.NET常见问题(FAQ)-如何判断两个类是否相同类型

    可以用is方法判断是否是一个类   更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123   我的在线论坛: http://csr ...

  10. javascript的冒泡排序, 快速排序, 选择排序, 插入排序

    冒泡排序, 最经典的排序, 把比较大的数字往后放, 和选择排序恰恰相反: <!DOCTYPE html> <html lang="en"> <head ...