动态规划之 铺砖问题
问题描述:
求用 1 * 2 的瓷砖覆盖 2 * n 的地板有几种方式?
思路:
1 * 2的砖有两种铺法——横着或者竖着:
A.第一块瓷砖竖着放的时候,问题就可以转化为 用1 * 2的砖铺设剩下的2 *(n - 1)地面的方式数。
B.第一块瓷砖横着放的时候(必然有另一块横着放的瓷砖在其下面),问题就可以转化为在用1 * 2的砖铺设剩下的2 *(n - 2)地面的方式数。
由此可得出状态转移方程:dp[i] = dp[i-1] + dp[i-2];
Code:
#include <bits/stdc++.h>
using namespace std;
int dp[30]{0};
int main(){dp[1] = 1;dp[2] = 2;for (int i = 3; i <= 30; i++) dp[i] = dp[i - 1] + dp[i - 2];int n;cin >> n;while(n -- ){int m;cin >> m;cout << dp[m];puts("");}return 0;
}
代码运行截图:
动态规划之 铺砖问题相关推荐
- 铺砖 动态规划 DP
解题思路:首先我们定义dp[i]为i列时候铺砖的方法数,我们考虑2 * 2的时候,一共有3个方法,考虑3 * 2的时候,多出了一列,如果我们竖着直接放一个,方法数就和2 * 2时候一样,即3,也就是d ...
- UVA11310 Delivery Debacle【铺砖问题】
Wolfgang Puck has two very peculiar habits: • I. He only makes two shapes of cakes. One is square an ...
- 【递推】 铺砖2!!!
铺砖2 序言 这篇博客我还是准备讲一讲递推这个板块的题.反正我是觉得基本上所有的递推题只要找到了递推式,那都是小case. 题目 现在上题: 题目描述 对于一个2行N列的走道.现在用1 * 2,2 * ...
- 我是一名铺砖匠——铺砖问题汇总(DP)
鉴于多次遇到铺砖问题,因此目前遇到对此类问题进行总结: 铺砖问题主要分类: 1.简单的一维铺砖问题 2.二维铺砖问题 2*1的砖是否可以铺满N*M的地面 3.二维铺砖铺满有多少种方法 a.2*1的砖铺 ...
- JAVA程序设计(自主模式)-铺砖问题
铺砖问题 有两种砖,分别是1*1的砖和1*2的砖,用这两种砖铺1*N的地面,问共有多少种铺法.输入为N,请输出相应的铺法数 输入: 3 输出: 3 Java: import java.util.Sca ...
- 练习1-递推(找数字\街区\铺砖)
1000 Problem A 时间限制 : 40/20 MS(Java/Others) | 内存限制 : 65536/32768 KB(Java/Others) Submits : 110 | Sol ...
- [Seoul 2007]Tile走道铺砖翻转问题处理
总时间限制: 20000ms 单个测试点时间限制: 1000ms 内存限制: 131072kB 描述 还是传统的走道铺砖问题,还是2行N列,现在给你三种砖,其规格分别为1*2,2*1,2*2.现在用这 ...
- 如何在SketchUp中快速切割铺砖?
作者:TutorialsUp 大家好,今天与大家分享的是 SketchUp 快速切割铺砖的教程 制作瓷砖有两种方式: 一是直接贴图 二是创建真实的瓷砖模型 前者需要结合凹凸算法实现凹凸效果 而后者是创 ...
- 【状压DP+高精】【cofun1370】走道铺砖问题
[cofun1370]走道铺砖问题 Description 有一个专门为装修设计方案的设计师.在某一天,他接到了一个项目,为一栋正在修建的大楼设计走道的地板铺设方案.此项目的委托人事先便进行了说明:地 ...
最新文章
- 设计模式-结构型-桥接
- BZOJ3675 [APIO2014]序列分割
- nokia n1 android 6,诺基亚推Nokia N1拥抱安卓,微软该怎么想?
- 华为ensp命令大全_电脑网络:华为交换机基础知识及基本命令配置大全,新手的福音...
- 华为应用锁退出立即锁_华为P40系列三大安全锁,教你锁住你的隐私 - 企业资讯...
- spark java foreach_Spark Java使用DataFrame的foreach/foreachPartition
- ocp mysql考试介绍_Oracle OCP OCM 和 Mysql OCP考试详情介绍
- Jmeter数据库连接(MYSQL)
- vue 3 引入百度地图api
- Anaconda 踩过的一些坑
- excel设置行高和列宽_Excel使用小技巧-Excel里设置列宽和行高
- python实际应用2-拆分PDF
- 通信领域的专有名词释义
- Paddle 点灯人 之 Tensor
- 远程办公易发数据泄露?教你5个策略防患于未然
- 20190512 XTCPC游记
- 并发编程指南(二)Dispatch Queue
- Qt QlineEdit 限制输入中文和中文字符(允许英文及英文字符)
- 华夫饼为什么不松软_华夫饼自己在家做,不加泡打粉,松软又可口,操作简单,一学就会...
- 插件式编程SBP框架极简教程(基于SpringBoot)