POJ 2506 Tiling dp+大数 水题
大致题意:现有两种方块(1X2,2X2),方块数量无限制。问用这两种方块填满2Xn的矩阵的填法有多少种。
分析:通俗点说,找规律。专业化一点,动态规划。
状态d[i],表示宽度为i的填法个数。
状态转移方程:d[0]=d[1]=1,i=0,1;
d[i]=d[i-1]+d[i-2]*2;
c或者c++写的话,先模拟下大数吧,java直接用大数类就行了。
c++
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std; struct BigInteger
{
int num[100];
int len;
};
BigInteger add(BigInteger a,BigInteger b)
{
BigInteger c;
c.len=0;
int len=max(a.len,b.len);
int left=0;
for(int i=0; i<len; i++,c.len++)
{
int tmp=a.num[i]+b.num[i]+left;
c.num[i]=tmp%10;
left=tmp/10;
}
if(len==a.len)
for(int i=len; i<b.len; i++,c.len++)
{
int tmp=b.num[i]+left;
c.num[i]=tmp%10;
left=tmp/10;
}
if(len==b.len)
for(int i=len; i<a.len; i++,c.len++)
{
int tmp=a.num[i]+left;
c.num[i]=tmp%10;
left=tmp/10;
}
if(left) c.num[c.len++]=1;
return c;
}
int main()
{
//freopen("in.txt","r",stdin);
int n;
BigInteger a,b,c;
while(cin>>n)
{
if(n==0 || n==1)
printf("1\n");
else
{
a.num[0]=a.len=1;
b.num[0]=b.len=1;
c.len=0;
for(int i=2; i<=n; i++)
{
c=add(add(a,a),b);
a=b;
b=c;
}
for(int i=c.len-1;i>=0;i--)
printf("%d",c.num[i]);
printf("\n");
}
}
return 0;
}
java
import java.math.BigInteger;
import java.util.Scanner; public class Main { public static void main(String args[]) {
int n;
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
n = scanner.nextInt();
BigInteger a = BigInteger.ONE;
BigInteger b = BigInteger.valueOf(3);
if (n == 1 || n == 0)
System.out.println(a);
else if (n == 2)
System.out.println(b);
else {
BigInteger ans = BigInteger.ZERO;
for (int i = 0; i < n - 2; i++) {
ans = a.multiply(BigInteger.valueOf(2)).add(b);
a = b;
b = ans;
}
System.out.println(ans);
}
}
} }
POJ 2506 Tiling dp+大数 水题的更多相关文章
- poj 3080 Blue Jeans(水题 暴搜)
题目:http://poj.org/problem?id=3080 水题,暴搜 #include <iostream> #include<cstdio> #include< ...
- HDU-1042-N!(Java大法好 && HDU大数水题)
N! Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total Subm ...
- POJ 3176 Cow Bowling (水题DP)
题意:给定一个金字塔,第 i 行有 i 个数,从最上面走下来,只能相邻的层数,问你最大的和. 析:真是水题,学过DP的都会,就不说了. 代码如下: #include <cstdio> #i ...
- POJ 3984 - 迷宫问题 - [BFS水题]
题目链接:http://poj.org/problem?id=3984 Description 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, ...
- DP+贪心水题合集_C++
本文含有原创题,涉及版权利益问题,严禁转载,违者追究法律责任 本次是最后一篇免费的考试题解,以后的考试题目以及题解将会以付费的方式阅读,题目质量可以拿本次作为参考 本来半个月前就已经搞得差不多了,然后 ...
- poj 1007:DNA Sorting(水题,字符串逆序数排序)
DNA Sorting Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 80832 Accepted: 32533 Des ...
- poj 1004:Financial Management(水题,求平均数)
Financial Management Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 126087 Accepted: ...
- poj 1658 Eva's Problem(水题)
一.Description Eva的家庭作业里有很多数列填空练习.填空练习的要求是:已知数列的前四项,填出第五项.因为已经知道这些数列只可能是等差或等比数列,她决定写一个程序来完成这些练习. Inpu ...
- poj 2506 Tiling(递推 大数)
题目:http://poj.org/problem?id=2506 题解:f[n]=f[n-2]*2+f[n-1],主要是大数的相加; 以前做过了的 #include<stdio.h> # ...
随机推荐
- -bash: ll: 未找到命令
第一步将alias ll='ls -l'添加到/etc/profile # head /etc/profile# /etc/profilealias ll='ls -l'# System wide e ...
- Linux_源码安装包管理理论概述
一.源码包基本概述 1️⃣:源码包的编译用到了linux系统里的编译器,通常源码包都是用C语言开发的,这也是因为C语言为linux上最标准的程序语言 2️⃣:Linux上的C语言编译器叫做gcc,利用 ...
- NFS PersistentVolume(11)
一.部署nfs服务端 1.需在 k8s-master 节点上搭建了一个 NFS 服务器,目录为 /nfsdata: yum install -y nfs-utils rpcbind vim /etc/ ...
- linux基础之权限管理
本节内容 1. 权限类别 属主(owner) 属组(group) 其他人(other) 2. 查看权限 ls -l 十位: 第一位文件类型-,d,l, 3. 设置权限 chmod 选项 权限模式 fi ...
- shell基础之case应用
在server0上穿件一个名为/root/script.sh的脚本,让其提供给下列的特性 1.当运行/root/script.sh all,输出为none 2.当运行/root/script.s ...
- 用PHP爬取知乎的100万用户
http://blog.jobbole.com/88788/ 突然发现 大数据 Python的爬虫能力很强 爬取到的数据 直接可以用于维修QQ营销 精准营销
- System Verilog MCDF(二)
整形器的接口时序: reg,grant是维持了两个clk的. chid ,length在发送数据期间不可以变化. 第一个data数据必须在start上升沿的同一个clk发送. reg,grant两者之 ...
- 西门子 S7-300 以太网模块连接 WINCC方案
北京华科远创科技有限研发的远创智控ETH-YC模块,型号有MPI-ETH-YC01和PPI-ETH-YC01,适用于西门子S7-200/S7-300/S7-400.SMART S7-200.西门子数控 ...
- 如何优雅的做参数校验-JSR330
前言: 本文不是讲@Validate.@Valid是如何使用的.区别是什么,想看这些内容的请换篇文章. 背景: 当前端传过来的参数是进行对称性加密.base64加密等处理后过的参数时,在control ...
- 通过 DLPack 构建跨框架深度学习编译器
通过 DLPack 构建跨框架深度学习编译器 深度学习框架,如Tensorflow, PyTorch, and ApacheMxNet,快速原型化和部署深度学习模型提供了强大的工具箱.不幸的是,易用性 ...