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

思路:dp

其实我们不难发现,如果我们按照单侧来说,并且让我们求最大价值的话,这就是一个打家劫舍的动态规划问题。

但是这里我们需要求方案数。所以这里我们的dp含义就变成了:在前i块地皮中放置房子的方案数。

首先就是从头开始,dp[0]=1,也就是说,当全部没有放置房子的时候,就只有这一种情况;

dp[1]=2,这里就是对于第一块地皮放与不放的方案数;

剩下的,我们再讨论状态转移的问题:

加入我们现在正在定夺第i块地皮,这个时候,如果我们选择放房子,那么i-1块地皮肯定是不能放房子的,但是i-2块地皮是可以放或者可以不放的,也就是说,此时我们的方案数中,dp[i]=dp[i-2];

如果说我们不放这块地,那么i-1块地是可以放也可以不放的,也就是dp[i-1],这个时候dp[i]=dp[i-1]+dp[i-2]。这就是状态转移了。

但是我们这个只是对于单侧来说的,还有一侧呢?我们发现,另外一侧是在第一侧的基础上再有方案数的,也就是说,我们在做一个乘法原理的过程运算。

这样的话,总个数就是dp[n]*dp[n]了。

上代码:

class Solution {public int countHousePlacements(int n) {int []dp=new int[n+1];dp[0]=1;dp[1]=2;for(int i=2;i<=n;i++){dp[i]=(int)(((long)dp[i-1]+dp[i-2])%1000000007);}int res=(int)(((long)dp[n]*dp[n])%1000000007);return res;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/9020.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第十篇:数字堡垒:操作系统安全深度解析与实战指南

数字堡垒&#xff1a;操作系统安全深度解析与实战指南 1 *引言 1.1 数字世界的守护者 在遥远的比特海中&#xff0c;有一座名为“操作系统”的数字堡垒&#xff0c;它守护着我们的数据宝藏&#xff0c;确保每一次计算的航行都能安全抵达彼岸。然而&#xff0c;这片海域并非风…

2024年最新【SpringBoot2】开发实用篇-测试_springboot2 test(1),2024年最新2024春招BAT面试真题详解

既有适合小白学习的零基础资料&#xff0c;也有适合3年以上经验的小伙伴深入学习提升的进阶课程&#xff0c;涵盖了95%以上软件测试知识点&#xff0c;真正体系化&#xff01; 由于文件比较多&#xff0c;这里只是将部分目录截图出来&#xff0c;全套包含大厂面经、学习笔记、…

推荐一个好用的数据集处理脚本

前段时间在整理数据集&#xff0c;但是需要先处理一下数据集&#xff0c;批量的修改图片的名字&#xff0c;因此找了一下的代码&#xff0c;这非常好用&#xff0c;分享给大家。 注意事项&#xff1a;转换后&#xff0c;这脚本会把你之前文件夹的内容全删掉。 import osclass …

2024最新大厂C++面试真题合集,大厂面试百日冲刺 bay8

腾讯视频 C多态性如何体现&#xff1f;模版怎么实现的多态&#xff1f; C中的多态性主要通过两种方式体现&#xff1a;虚函数&#xff08;动态多态性&#xff09;和模板&#xff08;静态多态性&#xff09;。 虚函数实现的多态性&#xff1a;通过基类指针或者引用&#xff0…

YOLOv5,YOLOv7改进之结合​SOCA

1.SOCA moudle结构图 2,YOLOv5,YOLOv7改进之结合​SOCA 1.配置common.py文件 #SOCA moudle 单幅图像超分辨率 class Covpool(Function):@staticmethoddef forward(ctx, input):x = inputbatchSize = x.data.shape[0]dim = x.data.shape[1]h = x.data.shape[2]w = x.data.sha…

微信小程序开发秘籍:解锁地理位置服务与周边信息探索

微信小程序开发秘籍&#xff1a;解锁地理位置服务与周边信息探索 一、地理信息服务基础1.1 什么是地理信息服务&#xff1f;1.2 微信小程序中的GIS API简介 二、获取用户位置&#xff1a;wx.getLocation实战2.1 API介绍2.2 代码示例 三、周边信息获取&#xff1a;利用腾讯位置服…

docker Harbor私有仓库部署管理

搭建本地私有仓库&#xff0c;但是本地私有仓库的管理和使用比较麻烦&#xff0c;这个原生的私有仓库并不好用&#xff0c;所以我们采用harbor私有仓库&#xff0c;也叫私服&#xff0c;更加人性化。 一、什么是Harbor Harbor是VWware 公司开源的企业级Docker Registry项…

android TV app适配遥控器思路,recycleview选中放大

背景&#xff1a; 1、当遥控器遥控盒子&#xff0c;app内是有一套机制&#xff0c;响应遥控器的操作; 2、要实现遥控器选中的效果&#xff0c;必须要设置setOnFocusChangeListener方法&#xff0c;另外一个就是设置view的setOnClickListener方法&#xff1b;设置完之后&#…

安卓开发--按键跳转页面,按键按下变色

前面已经介绍了一个空白按键工程的建立以及响应方式&#xff0c;可以参考这里&#xff1a;安卓开发–新建工程&#xff0c;新建虚拟手机&#xff0c;按键事件响应。 安卓开发是页面跳转是基础&#xff01;&#xff01;&#xff01;所以本篇博客介绍利用按键实现页面跳转&#…

C语言自定义数据类型

一.结构体 1.结构体 I.基本格式 struct tag {member-list; }variable-list; II.结构体声明 struct PERSON // 结构体声明 {int age; // 声明成员类型long ss;float weight;char name[25]; } family_member; // 定义结构体变量fa…

day1_slidingWindow

一、滑动窗口模板 // 注意&#xff1a;java 代码由 chatGPT&#x1f916; 根据我的 cpp 代码翻译&#xff0c;旨在帮助不同背景的读者理解算法逻辑。 // 本代码不保证正确性&#xff0c;仅供参考。如有疑惑&#xff0c;可以参照我写的 cpp 代码对比查看。import java.util.Has…

Robots协议的一点知识

Robots协议&#xff0c;通常指的是robots.txt协议&#xff0c;是一种网站管理员用来告诉搜索引擎蜘蛛&#xff08;也称为爬虫或机器人&#xff09;哪些页面可以被抓取&#xff0c;哪些不可以的文本文件。这个协议也被称为排除标准&#xff08;Robots Exclusion Protocol&#x…

linux环境下安装《车辆动态监控系统》支持JT808、JT1078、苏标主动安全设备接入

《车辆动态监控系统》安装包下载地址 开放端口 80/443/8800&#xff0c;web后台端口&#xff0c;nginx代理服务&#xff0c;nginx默认为8800端口8808&#xff0c;JT808专用端口6802&#xff0c;视频播放推流端口6891-6898&#xff0c;FTP端口6821&#xff0c;苏标主动安全附件…

【算法】滑动窗口——水果成篮

本篇博客是我对“水果成篮”这道题由暴力解法到滑动窗口思路的具体思路&#xff0c;有需要借鉴即可。 目录 1.题目2.暴力求解3.暴力优化3.1每次right不用回退3.2有些left长度一定不如前一个&#xff0c;不用走&#xff0c;left不回退 4.滑动窗口算法5.总结 1.题目 题目链接&am…

SpringBoot+vue实现右侧登录昵称展示

目录 1. 定义User数据 1.1.在created方法获取数据 1.2.头部导航栏绑定User数据 1.3.在data中定义User数据 2. 获取数据 2.1.接收父组件传递的值 2.2.展示数据 3. 页面效果 在SpringBoot和 Vue.js 结合的项目中实现右侧登录昵称展示&#xff0c;通常涉及到前端的用户界面…

淘宝/天猫按关键字搜索淘宝商品 API接口

淘宝/天猫按关键字搜索淘宝商品的API接口&#xff0c;确实为开发者提供了便捷的商品搜索功能。至于超好用的工具&#xff0c;我可以为你推荐一些常用的API接口调用工具或者相关服务&#xff0c;这些工具或服务可以帮助你更高效地使用API接口。 首先&#xff0c;对于淘宝/天猫的…

什么是BFF API

BFF&#xff08;Backend For Frontend&#xff09;API 是一种架构模式&#xff0c;旨在为特定的前端应用&#xff08;如移动应用、桌面应用或网页应用&#xff09;提供定制化的后端服务。通过这种方式&#xff0c;后端可以根据前端的具体需求和特性&#xff0c;提供最优化的数据…

Linux进程——Linux环境变量

前言&#xff1a;在结束完上一篇的命令行参数时&#xff0c;我们简单的了解了一下Linux中的环境变量PATH&#xff0c;而环境变量不只有PATH&#xff0c;关于更多环境变量的知识我们将在本篇展开&#xff01; 本篇主要内容&#xff1a; 常见的环境变量 获取环境变量的三种方式 本…

新能源汽车动力电池热管理方案直冷方案原理简介

前言 随着新能源汽车的快速发展&#xff0c;动力电池作为其核心部件之一&#xff0c;对于其性能和寿命具有重要影响。动力电池在工作过程中会产生大量的热量&#xff0c;如果不能有效地进行热管理&#xff0c;将会导致电池温度升高、性能下降甚至损坏。因此&#xff0c;热管理…

机器学习:感知机--Perceptron

机器学习&#xff1a;感知机–Perceptron 感知器是具有二进制输入和阶梯激活函数的神经元。 输入&#xff1a;0或者1 输出&#xff1a;0或者1 激活函数&#xff1a;阶梯函数 举例 &#xff08;1&#xff09;与门 H(x)表示阶梯函数&#xff0c;或者说Heaviside函数 y H…