POJ2806 Square
题目描述
给定\(2*1\)和\(2 * 2\)两种规格的地砖,请问\(2 * n\)的地面总共有多少种方法?
下面是铺满\(2*17\)的地面的示意图。
输入输出格式
输入
多组数据,每组数据包括1行1个整数n,表示地面的长度。\((0\leq n \leq250)\)
输出
每组数据输出\(1\)行\(1\)个整数,表示铺满\(n\)米地面的方法数。
思路
因为我们知道长度为\(i\)的矩阵只能由\(i-1\)和\(i-2\)变来,又长度为一的矩阵的方法数为\(1\),长度为二的矩阵的方法数为\(3\),其中有一种相当于\(i-1\)的方法数,所以状态转移方程为\(dp[i][j]=dp[i-1][j]+dp[i-2][j]*2;\)
代码
#include<bits/stdc++.h>
using namespace std;
int dp[301][501]; //dp[i]用来存储第i列的结果,dp[i][0]存储长度
int main(){ dp[1][0]=1; dp[1][1]=1; dp[2][0]=1; dp[2][1] = 3; for(int i=3;i<=300;i++){ int len=max(dp[i-2][0],dp[i-1][0]);for(int j=1;j<=len;j++) dp[i][j]=dp[i-1][j]+dp[i-2][j]*2; //按位加dp[i][0]=max(dp[i-2][0],dp[i-1][0]); //取两个加数中较长的长度 for(int j=1;j<=dp[i][0];j++){dp[i][j+1]+=dp[i][j]/10; //进位 dp[i][j]%=10; } while(dp[i][dp[i][0]+1]>0){ //更新高精度加法结果的位数dp[i][0]++; dp[i][dp[i][0]+1]+=dp[i][dp[i][0]]/10; } } int n; while(cin>>n){ if(n==0)cout<<1<<endl; else{for(int i=dp[n][0];i>=1;i--)cout<<dp[n][i]; cout<<endl; } }return 0;
}
转载于:https://www.cnblogs.com/xzj213/p/11226764.html
POJ2806 Square相关推荐
- 367. Valid Perfect Square
题目: Given a positive integer num, write a function which returns True if num is a perfect square els ...
- 数据挖掘公司D square nv 完成500万欧元B轮融资
D square nv日前完成 500 万欧元 B 轮融资,融资方为 Gemma Frisius Fonds, Jürgen Ingels, Limburgse Reconversie Maatsch ...
- 经典算法题之Maximal Square
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:叶 虎 Maximal Square是道非常有意思的算 ...
- Codeforces 895C - Square Subsets
895C - Square Subsets 思路:状压dp. 每个数最大到70,1到70有19个质数,给这19个质数标号,与状态中的每一位对应. 状压:一个数含有这个质因子奇数个,那么他状态的这一位是 ...
- 【翻译】CEDEC2012 SQUARE ENIX GPGPU实现高速GI烘培工具的方法
虽然实时GI技术已经趋于成熟了,但出于对不同平台的性能和质量的考虑, 更倾向搭配一些预计算的渲染技术来实现,如给静态物体提供GI的LightMap, 给动态物体提供GI的Irradiance Volu ...
- 【 MATLAB 】信号处理工具箱的信号产生函数之 square 函数简记
因为案例需要,所以这里先看一下linspace这个函数的用法: y = linspace(x1,x2): 均匀产生位于x1 到 x2 之间的100个点: y = linspace(x1,x2,n): ...
- [leetcode] 367. Valid Perfect Square
Given a positive integer num, write a function which returns True if num is a perfect square else Fa ...
- 洛谷 P2867 [USACO06NOV]大广场Big Square
P2867 [USACO06NOV]大广场Big Square 题目描述 Farmer John's cows have entered into a competition with Farmer ...
- UVa10639 Square Puzzle(WA)
例子通过了,并且udebug上的例子也通过了,但是提交还是错误. 针对特殊情况: 3 4 7 0 2 1 2 2 3 3 2 4 2 4 4 0 4 7 0 0 4 0 4 2 3 2 2 1 1 2 ...
- Codeforces 432E Square Tiling(结构体+贪婪)
题目连接:Codeforces 432E Square Tiling 题目大意:给出一个n∗m的矩阵,要求对该矩阵进行上色,用大写字母.可是每次上色的区域必须是正方形.不求相邻的上色区域不能有同样的颜 ...
最新文章
- 如何将因果干预用于提升模型公平性?
- 在mac中导入hadoop2.6.0源代码至eclipse
- elasticsearch的插件安装
- C#如何开发多语言支持的Winform程序
- [剑指offer]面试题第[48]题[Leetcode][JAVA][第3题][无重复字符的最长字串][滑动窗口][HashSet/Map]
- AST语法结构树初学者完整教程
- Eclipse-阶段1-配置问题解决
- 安装composer并创建laravel项目流程
- Autofac 依赖注入框架 使用
- U - 计算长方体、四棱锥的表面积和体积
- 一个TCP FIN_WAIT2状态细节引发的感慨
- 画PCB必备的3D元器件模型下载地址整理
- CAD 二次开发 图层操作(1)创建图层
- bochs运行xp_简单教程:Bochsxp镜像超级简化版安装教程
- 机房布线网络布线之常用兵器谱
- elastic-job VS xxl-job
- vs code对python开发相关的设置
- 教你快速配置wordpress由http变成https访问
- 2016京东java待遇_Java硕士京东工作1年,跳槽后他期望薪资26K,大家感觉他可以吗...
- Java生成二维码 基于Google-Zxing
热门文章
- 计算机专业 美国,美国计算机专业的五大名校概况
- sql 整改措施 注入_改进的SQL防注入(加强抑错)-ASP教程,安全加密
- vscode还用装git_在windows下搭建编程环境git+vscode安装配置教程
- springMVC简易学习笔记三(文件上传与异常处理)
- 1.5.PHP7.1 狐教程-(PHP开发工具 PHPStorm 配置)
- JMS 开发步骤、持久化 topic 消息与非持久化 topic 消息
- CentOS 7.2 卸载 Mysql 、Windowns 上卸载 Mysql
- 阶段3 1.Mybatis_05.使用Mybatis完成CRUD_7 Mybatis中参数的深入-使用实体类的包装对象作为查询条件...
- 阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第1节 基础加强_3_Junit_使用步骤...
- 超市商品购买与管理系统