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> # ...
随机推荐
- Python爬虫 小白[3天]入门笔记
笔记来源 Day-0 1.如果你还不了解Python的基础语法,可以移步|>>>Python 基础 小白 [7天] 入门笔记<<<|或自行学习. 简介 1.什么是爬 ...
- Linux_进程管理相关命令
一.进程管理命令 1.ps -- 进程查看命令 1️⃣:ps(process state)命令用于列出当前的进程 2️⃣:可以显示详细的进程信息,包括: 用户识别符(UID),它确定进程的特权 唯一进 ...
- python基础之centos7源码安装python3
一.先安装python3所依赖的软件包,非常重要(否则可能会出现python3安装成功,却缺少相应的pip) yum groupinstall "Development tools" ...
- @JSONField与@DateTimeFormat 注解(Day_21)
@JSONField的常用参数说明 @JSONField(ordinal = 1) //指定json序列化的顺序 @JSONField(serialize = false) //json序列 ...
- GO学习-(16) Go语言基础之文件操作
Go语言文件操作 本文主要介绍了Go语言中文件读写的相关操作. 文件是什么? 计算机中的文件是存储在外部介质(通常是磁盘)上的数据集合,文件分为文本文件和二进制文件. 打开和关闭文件 os.Open( ...
- Go语言网络通信---TCP通信上传一个小文件
server: package main import ( "fmt" "net" "os" ) func SHandleError(err ...
- 安全利器 — SELinux
在 Linux 系统中一切皆文件,资源也属于某种文件.用户在访问文件的时候,系统对权限(读.写 .执行)进行检查.只要用户对文件有足够的权限,就可以任意操作资源.root 用户对所有资源拥有所有权限, ...
- GPU 硬件虚拟化Hardware Virtualization
GPU 硬件虚拟化Hardware Virtualization 1. Principles 一个物理GPU可以虚拟化为多个vGPUs.VMs可以绑定到vGPUs以直接访问一些物理GPU资源. 2. ...
- GPU编程和流式多处理器(七)
6. 杂项说明 6.1. warp级原语 warp作为执行的原始单元(自然位于线程和块之间),重要性对CUDA程序员显而易见.从SM 1.x开始,NVIDIA开始添加专门针对thread的指令. Vo ...
- 基于自动驾驶车辆的NVIDIA-TensorRT推理实时优化
基于自动驾驶车辆的NVIDIA-TensorRT推理实时优化 Optimizing NVIDIA TensorRT Conversion for Real-time Inference on Auto ...