2320. 统计放置房子的方式数-动态规划

news/2025/1/12 3:49:11/
  1. 统计放置房子的方式数-动态规划

一条街道上共有 n * 2 个 地块 ,街道的两侧各有 n 个地块。每一边的地块都按从 1 到 n 编号。每个地块上都可以放置一所房子。

现要求街道同一侧不能存在两所房子相邻的情况,请你计算并返回放置房屋的方式数目。由于答案可能很大,需要对 109 + 7 取余后再返回。

注意,如果一所房子放置在这条街某一侧上的第 i 个地块,不影响在另一侧的第 i 个地块放置房子。

示例 1:

输入:n = 1
输出:4
解释:
可能的放置方式:

  1. 所有地块都不放置房子。
  2. 一所房子放在街道的某一侧。
  3. 一所房子放在街道的另一侧。
  4. 放置两所房子,街道两侧各放置一所。

示例 2:
在这里插入图片描述

输入:n = 2
输出:9
解释:如上图所示,共有 9 种可能的放置方式。

这个题目用动态规划去做就很简单,就是考虑一下当前状态与之前两个状态的关系,解题代码如下:

#define MOD 1000000007
int countHousePlacements(int n){if(n==1){return 4;}long long dp[n+1];dp[0]=1;dp[1]=2;dp[2]=3;for(int i=3;i<=n;i++){dp[i]=(dp[i-2]+dp[i-1])%MOD;}return (dp[n]*dp[n])%MOD;}

http://www.ppmy.cn/news/139348.html

相关文章

关于佳能IR2320N网络打印机的安装域使用

第一步&#xff1a;首先要为该机器设置一个IP地址&#xff0c;具体方法是&#xff1a;附加管理→系统管理→网络管理→IPv4→IP地址&#xff0c;输入相应的IP地址&#xff0c;子网掩码&#xff0c;默认网关。如果你要查看该机的MAC地址的话&#xff0c;那你也可以在此查看呢。选…

2320. 统计放置房子的方式数

思路&#xff1a; 第一想法用动规&#xff0c;但是不知道如何下手。浅看了一下答案&#xff0c;发现是做过的题。 易知&#xff1a;道路两排的房子摆列互不干扰&#xff0c;只需要保证每一侧的房子间隔排列即可。 所以&#xff0c;最终的结果为 dp[n]*dp[n]。 只需要对一侧…

洛谷P2320 [HNOI2006]鬼谷子的钱袋

https://www.luogu.org/problem/show?pid2320#sub 题目描述全是图 数学思维&#xff0c;分治思想 假设总数为n 从n/21到n的数都可以用1~n的数n/2表示出来 1~n/2的数也可以这样拆分成两份。 一路拆下去即可。 例如n12时&#xff1a; {1 2 3 4 5 6}6{7,8,9,10,11,12} {1,2,3}3{4…

Ardunio开发实例-AM2320温湿度传感器

AM2320温湿度传感器 温湿度组合传感器AM2320数字温湿度传感器是一种已校准的数字信号输出。 采用特殊的温度和湿度采集技术,确保产品具有很高的可靠性和出色的长期稳定性。 传感器由电容式湿度元件和集成的高精度温度测量设备组成,并与高性能微处理器连接。 AM2320使用一条…

HT66F2390/STM32——AM2320温湿度传感器

1、说明 AM2320 数字温湿度传感器采用单总线、标准 IC 两种通信方式。本文主要基于HT66F2390单片机&#xff0c;采用单总线通讯&#xff0c;实现AM2320传感器数据获取。关于AM2320传感器的使用&#xff0c;可参考AM2320产品手册。在文章最后&#xff0c;分享了AM2320的相关资料…

一次恶心的AM2320温湿度传感器调试经历

一次恶心的AM2320温湿度传感器调试经历 前面画了一块MCU和FPGA的PCB板子&#xff0c;主要功能都已经测试通过了&#xff0c;还剩下一个温湿度传感器AM2320的功能没试&#xff0c;本以为网上买的这个模块无非就是引两个引脚出来就完事了&#xff0c;可最后却花了我近两天时间来调…

双节锂电池充电方案芯片IP2320,支持5V输入同步开关升压充电

双节串联锂电池/锂离子电池的升压充电管理方案芯片——英集芯IP2320&#xff0c;集成功率MOS&#xff0c;采用同步开关架构&#xff0c;使其在应用时仅需极少的外围器件&#xff0c;并有效减小整体方案的尺寸&#xff0c;降低BOM成本。 IP2320 集成一个Boost同步升压充电控制器…

P2320 [HNOI2006]鬼谷子的钱袋(想法)

原题&#xff1a; https://www.luogu.org/problem/P2320 题意&#xff1a; 给出一个m&#xff0c;你讲起拆分成最少份&#xff0c;使得可以组成1到m之间的任意数&#xff0c;大于1数只能有一份。 解析&#xff1a; 以39为例&#xff0c;按照二进制分可以分成 1 , 2 , 4 , 8…