当前位置: 首页 > news >正文

P1990 覆盖墙壁(dp)

题目描述

你有一个长为 N 宽为 2 的墙壁,给你两种砖头:一个长 2 宽 1,另一个是 L 型覆盖 3 个单元的砖头。如下图:

0  0
0  00

砖头可以旋转,两种砖头可以无限制提供。你的任务是计算用这两种来覆盖 N×2 的墙壁的覆盖方法。例如一个 2×3 的墙可以有 5 种覆盖方法,如下:

012 002 011 001 011  
012 112 022 011 001

注意可以使用两种砖头混合起来覆盖,如 2×4 的墙可以这样覆盖:

0112
0012

给定 N,要求计算 2×N 的墙壁的覆盖方法。由于结果很大,所以只要求输出最后 4 位。例如 2×13 的覆盖方法为 13465,只需输出 3465 即可。如果答案少于 4 位,就直接输出就可以,不用加前导 0,如 N=3 时输出 5。

输入格式

一个整数 N,表示墙壁的长。

输出格式

输出覆盖方法的最后 4 位,如果不足 4 位就输出整个答案。

输入输出样例

输入 #1复制

13

输出 #1复制

3465

说明/提示

数据保证,1≤N≤1000000。

在洛谷,
享受 Coding 的欢乐

import java.util.Scanner;public class Main {static final int MAX = 1000002;static final int MOD = 10000;static int[] f = new int[MAX];static int[] g = new int[MAX];public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();f[0] = 1;f[1] = 1;g[0] = 0;g[1] = 0;for (int i = 2; i <= n; i++) {f[i] = (f[i - 1] + f[i - 2] + 2 * g[i - 1]) % MOD;g[i] = (g[i - 1] + f[i - 2]) % MOD;}System.out.println(f[n]);scanner.close();}
}

定义两个状态数组:

f[i]:表示用砖铺满 2×i 的墙的铺法数量。
g[i]:表示铺到第 i 列时,墙“剩半格没铺”的方案数。


f[i] = (f[i - 1] + f[i - 2] + 2 * g[i - 1]) % MOD;

f[i-1]竖放一个 2×1 砖
f[i-2]横放两块 2×1 砖
2 * g[i-1]L 型砖放在右侧

g[i] = (g[i - 1] + f[i - 2]) % MOD;

g[i-1]横放1块 2×1 砖
f[i-2]从一个完整的 2×(i-2) 墙,用一块 L 型砖伸出来造成半空

http://www.dtcms.com/a/557897.html

相关文章:

  • 计算机操作系统理论学习
  • 胶州建网站推广游戏的平台
  • 未来之窗昭和仙君(四十九)集成电路芯片生产管理出库——东方仙盟筑基期
  • 哈尔滨公司网站建设科技企业网站源码
  • 行业网站推广怎么做wordpress-3.7
  • Pandas 简介与安装
  • openpnp - 吸嘴的单独校准
  • 程序员除了做软件是不是就做网站县 两学一做网站
  • 企业网站制作公司有哪些口碑营销的本质是什么
  • 北京住房和建设部网站首页网站开发结构图
  • 最新电子电气架构(EEA)调研-4
  • Google Chrome (dev beta)
  • SimPy经典案例分析
  • 跨端开发实践:多端适配指南
  • 索引的知识总结
  • 外贸汽车网站制作设计类专业笔记本电脑推荐
  • 织梦网站网站上的图用美图秀秀做可以吗
  • WebMvcConfig 和 WebSecurityConfig 详解
  • 使用unity做网站商城网站建设运营协议书
  • 21.7 企业级监控与日志系统实战:Prometheus+Grafana+ELK全链路配置指南
  • wordpress网站搬家书画院网站源码
  • css属性使用手册
  • SAPMM修改物料评估类型后报错:M7115只是可能对有相同评估类进行倒记帐(本月1002,前月1007)
  • 现在主流的网站开发语言全网整合营销平台
  • 08数据展示:Grafana数据可视化工具
  • 做网站多少钱_西宁君博相约宿迁人才网
  • v-code-diff入口文件的配置
  • 北京网站优化推广效果网站备案 取消
  • STM32 解锁芯片的方法
  • 滑窗|队列