552. 学生出勤记录 II 超简单的理解思路 击败88.57

大类只有2种情况 (1)无A :dp[n]种 . (2)有1个A: d[j-1]*dP[n-j],注意j=1,2,3,…,n。
此时无A的情况,只用考虑P和L的的排列。初始化dP[0]=1, dP[1]=2,dP[2]=4,n<=2时候显而易见,因为L的情况不用管!!!

现在难点是:如何排除3个L的情况!!!

以n=4为例子 :那么对于第1个元素,可以是P可以是L,如果是P就好办了(直接dp[3]),如果是L呢?

  • P[]: dp[3]
  • LP[] :第1个是L,第2个可以是P,那么也好办,直接dp[2],因为后面就2个元素
  • LLP[] :第2个如果是L呢?也好办,第3个一定是P,直接dp[1]。

好了,已经发现规律了,dp[n]=dp[n-1]+dp[n-2]+dp[n-3];
最后(1)和(2)加起来就是答案了。

class Solution {public int checkRecord(int n) {if(n==1)return 3;long []dp = new long[n+1];dp[0] = 1;dp[1] = 2;dp[2] = 4;long MOD = 1000000007;for(int i=3;i<=n;i++){dp[i] = ((dp[i-1] + dp[i-2])%MOD +dp[i-3])%MOD;}  long res = 0;//有1个Afor(int i=1;i<=n;i++){long tmp = (dp[i-1]*dp[n-i])%MOD;res = (res+tmp)%MOD;}res = (res+dp[n])%MOD;return (int)res;}
}

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

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

相关文章

unity webgl 系列:从本地硬盘上传文件到webgl沙盒中

沙盒&#xff1a;浏览器的安全机制&#xff0c;浏览器内的进程不能直接访问本地计算机中的硬盘等硬件或数据。必须通过js作为中间层实现。需求&#xff1a;通过一个按钮&#xff0c;点击后选择文件传到webgl进程中。前置说明&#xff1a;需要有webgl模版等基础配备&#xff0c;…

深度学习从入门到不想放弃-6

这节要讲完距离基础部分就真完事了,不继续在基础中求得基础了,我发现也没人看 书接前文深度学习从入门到不想放弃-5 (qq.com) 前文书写到要合理的设计特征是什么概念,我们再拿两个例子复习一下 比如一个卖车网站,上节我们讲过对物体识别可以用RGB来表示颜色的维度,…

大数据开发之Hadoop(完整版+练习)

第 1 章&#xff1a;Hadoop概述 1.1 Hadoop是什么 1、Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 2、主要解决&#xff0c;海量数据的存储和海量数据的分析计算问题。 3、Hadoop通常是指一个更广泛的概念-Hadoop生态圈 1.2 Hadoop优势&#xff08;4高&#xf…

第9章-第1节-关于Java中properties配置文件的介绍

properties类也是基于流&#xff0c;不算很难&#xff0c;下面直接上代码&#xff1a; Dogcom.entity.Dog Catcom.entity.Cat Pigcom.entity.Pig Birdcom.entity.Bird ... Properties properties new Properties(); //配置文件读取对象 properties.load(new FileInputStream…

linux云服务器 如何将数据盘挂载到系统盘上面?

先认识认识下面几个常用命令 lsblk 命令&#xff1a;查看设备列表&#xff0c;也就是能看到系统盘和数据盘一般为&#xff1a;vda&#xff08;系统盘&#xff09;、vdb&#xff08;数据盘&#xff09;等等 lsblk"ls" 是 "list" 的缩写&#xff1a; lsblk…

【C语言深度剖析——第四节(关键字4)】《C语言深度解剖》+蛋哥分析+个人理解

追求本质&#xff0c;不断进步 本文由睡觉待开机原创&#xff0c;转载请注明出处。 本内容在csdn网站首发 欢迎各位点赞—评论—收藏 如果存在不足之处请评论留言&#xff0c;共同进步&#xff01; 这里写目录标题 一、空间的申请1.变量定义1.1变量定义的概念&#xff1a;1.2变…

小程序 常用组件

文章目录 常见组件viewtextimageswipernavigatorrich-textnodes属性 buttoniconfromradiocheckbox 常见组件 重点讲解⼩程序中常⽤的布局组件 view,text,rich–text,button,image,navigator,icon,swiper,radio,checkbox。 等 view 代替 原来的 div 标签 <view hover-clas…

C语言基础语法跟练 day4

41、牛牛有一个半径为 r 的球&#xff0c;他想知道这个球的体积。 #include <stdio.h> #include<math.h> int main() {float r;scanf("%f",&r);float v (4.0/3)*3.14*pow(r,3);printf("%.2f",v);return 0; } 42、小乐乐比较懒惰&#x…

GPT应用程序上线注意的问题

在将GPT应用程序上线之前&#xff0c;有一些重要的问题需要注意&#xff0c;以确保应用程序的成功运行、用户满意度和合规性。以下是一些建议&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 合规性和…

SpringCloud OpenFegin 传递Date类型的参数时,接收端多出14个小时的问题

SpringCloud OpenFegin 传递Date类型的参数时&#xff0c;接收端多出14个小时的问题 1. OpenFegin写法 入参&#xff1a; “startTime”: “2024-01-16 00:00:00”, “endTime”: “2024-01-18 23:59:59”, GetMapping("/queryDisposalComplete")JsonResult<Ma…

海盗王NPC出售物品解析器

在编辑或者查看NPC出售物品的时候&#xff0c;需要了解它到底出售了那些物品。 当物品很多的时候&#xff0c;就很难一个一个地去查了。 想到之前有做过一个物品编辑器&#xff0c;于是就想在那个基础上再增加一个NPC物品分析器功能。 实现如下&#xff1a; 将NPC的出售列表直接…

Android现代开发推荐 | Android Showcase 2.0

Android现代开发推荐 | Android Showcase 2.0 Android Showcase是一个完整的Android应用程序示例&#xff0c;它使用了现代的Android应用程序开发方法&#xff0c;集成了流行的开发工具、库和代码检查工具&#xff0c;以及强大的测试框架和持续集成&#xff08;CI&#xff09;…

《WebKit 技术内幕》之四(3): 资源加载和网络栈

3. 网络栈 3.1 WebKit的网络设施 WebKit的资源加载其实是交由各个移植来实现的&#xff0c;所以WebCore其实并没有什么特别的基础设施&#xff0c;每个移植的网络实现是非常不一样的。 从WebKit的代码结构中可以看出&#xff0c;网络部分代码的确比较少的&#xff0c;它们都在…

AI 编程的机会和未来:从 Copilot 到 Code Agent

大模型的快速发展带来了 AI 应用的井喷。统计 GPT 使用情况&#xff0c;编程远超其他成为落地最快、使用率最高的场景。如今&#xff0c;大量程序员已经习惯了在 AI 辅助下进行编程。数据显示&#xff0c;GitHub Copilot 将程序员工作效率提升了 55%&#xff0c;一些实验中 AI …

Redis多线程模型探究

在技术快速发展的当下&#xff0c;Redis以其高效的单线程模型在众多数据库技术中脱颖而出。 这项被设计来高速读写内存数据的技术&#xff0c;如今却在面临多核心时代的挑战下&#xff0c;开始拥抱多线程。 这篇文章将带你了解Redis的单线程之路&#xff0c;解读它为何能在多线…

IDA Pro 7.7和8.3共用方案

1.问题 IDA 8.3版本放出来后&#xff0c;我安装之后&#xff0c;把之前用的正好的7.7给卸载了&#xff0c;然后发现&#xff1a;IDA 8.3版本只能反编译x86和x64两个架构&#xff0c;而我又是arm和arm64的重度用户&#xff0c;只能把旧版下载回来。问题就出现在这里。 &#x…

Autosar信息安全入门系列01-SecOC基础介绍

本文框架 1. 概述2. SecOC基本概念2.1 SecOC是什么&#xff1f;2.2 新鲜度值与MAC值2.3 SecOC报文格式 3. SecOC报文发送及接收逻辑3.1 SecOC报文的发送3.2 SecOC报文的接收 1. 概述 本文为Autosar通信入门系列介绍&#xff0c;如您对AutosarMCAL配置&#xff0c;通信&#xf…

【开源】基于JAVA语言的免税店商城管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.2 研究方法 三、系统展示四、核心代码4.1 查询免税种类4.2 查询物品档案4.3 新增顾客4.4 新增消费记录4.5 审核免税 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的免税店商城管理系…

AI嵌入式K210项目(15)-安全散列算法加速器

文章目录 前言一、什么是SHA256&#xff1f;实验原理 二、K210的安全散列算法加速器三、实验过程总结 前言 K210内置了丰富的加速器&#xff0c;包括神经网络处理器 (KPU)&#xff0c;AES(高级加密加速器)&#xff0c;APU 麦克风阵列语音数据加速计算处理器&#xff0c;现场可…

2024--Django平台开发-订单项目管理用户认证+动态菜单+权限控制(十三)

day13 订单管理项目开发 1.表结构设计 1.1 abstract类 from django.db import modelsclass ActiveBaseModel(models.Model):active models.SmallIntegerField(verbose_name"状态", default1, choices((1, "激活"), (0, "删除"),))class Meta:…