首页 > 其他分享 >(nice!!!)LeetCode 552. 学生出勤记录 II(动态规划dp递归版、记忆化dfs)

(nice!!!)LeetCode 552. 学生出勤记录 II(动态规划dp递归版、记忆化dfs)

时间:2024-08-18 19:54:27浏览次数:15  
标签:return int dfs 552 II 出勤

题目:552. 学生出勤记录 II

在这里插入图片描述
思路:记忆化搜索dfs,细节看注释

class Solution {
public:
    const int mod=1e9+7;
    //状态f[u][a][b]表示:在选择第u个位置前,缺勤次数为a次,且当前连续迟到次数为b次时,可以得到的合法出勤次数
    int f[100010][5][5];
    int dfs(int u,int a,int b){
    	//出现不合法状态,直接返回0
        if(a>1||b>2) return 0;
        //当前位置已处理完,且都合法,返回1即可
        if(u<0) return 1;
        //记忆化,当前转态已出现过,直接返回答案
        if(f[u][a][b]!=-1) return f[u][a][b];
        int res=0;
        //到场、缺勤、迟到
        res=((long long)dfs(u-1,a,0)+dfs(u-1,a+1,0)+dfs(u-1,a,b+1))%mod;
        return f[u][a][b]=res;

    }
    int checkRecord(int n) {
        memset(f,-1,sizeof f);
        return dfs(n-1,0,0);
    }
};

标签:return,int,dfs,552,II,出勤
From: https://blog.csdn.net/weixin_46028214/article/details/141304320

相关文章

  • iis7/8隐藏banner信息
    原文链接:https://www.cnblogs.com/kowloon/p/9071872.html一、隐藏server版本1、为什么要隐藏?答:服务器端返回信息中包含有软件版本等详细信息,攻击者利用这些信息可以实现更有目的性的攻击。因此隐藏server版本信息,在一定程度上能够提高服务器的安全性。2、未隐藏前查看到的信......
  • 题解:CF1034B Little C Loves 3 II
    思路看到这道题时,第一思路就是网络流,结果一看数据\(10^{9}\)直接转向找规律。主要思路:神秘特判。首先,下面的结论基于\(n\lem\)。Case1.当\(n=1\)时,易得的是我们可以以\(6\)为循环节构造。Case2.当\(n=2\)时,我们可以构造出\(4a,5a,6a\)的形式。易得,通过裴蜀......
  • Yuno loves sqrt technology III
    链接:YunolovessqrttechnologyIII先考虑一道分块板子[Violet]蒲公英在这道题中,将值离散化后,用了两个重要的数组\(p_{i,j}\):表示第\(i\)个块到第\(j\)个块的最小的众数\(s_{i,j}\):表示前\(i\)个块中\(j\)出现的次数发现\(s\)的空间是\(O(n\sqrt{n})\)的\(but......
  • 在相思树下 III 题解
    前言题目链接:洛谷。赛时脑子坨成一坨了,估计是T1的影响,写一篇题解来理清思路。题意简述给你一个长为\(n\)的序列\(a_{1\dotsn}\),你需要对它进行两种操作共\(n-1\)次。对一个长度为\(l\)的序列\(b_{1\dotsl}\)进行一次操作将会把序列变为一个长为\(l-1\)的序列......
  • 力扣面试经典算法150题:删除有序数组中的重复项 II
    删除有序数组中的重复项II今天的题目是力扣面试经典150题中的数组的中等难度题:删除有序数组中的重复项II题目链接:https://leetcode.cn/problems/remove-duplicates-from-sorted-array-ii/description/?envType=study-plan-v2&envId=top-interview-150题目描述给定一......
  • HDFS的编程
    一、HDFS原理HDFS(HadoopDistributedFileSystem)是hadoop生态系统的一个重要组成部分,是hadoop中的的存储组件,在整个Hadoop中的地位非同一般,是最基础的一部分,因为它涉及到数据存储,MapReduce等计算模型都要依赖于存储在HDFS中的数据。HDFS是一个分布式文件系统,以流式数据访问模......
  • 题解:P10781 【MX-J1-T1】『FLA - III』Spectral
    P10781【MX-J1-T1】『FLA-III』Spectral题解(非正解,正解应该是数学题。)这道题很简单,分析题意就可以得出核心代码:for(inti=1;i<=n;i++){ans=k+ans/i;}那么恭喜你获得$40$pts。为什么呢?因为题目需要的是最高温度,而烧碳获得的温度可能小于烧炭时减低的温度。简单说......
  • DFS深度优先搜索
    1、介绍DFS即DepthFirstSearch,深度优先搜索。简单地理解为一条路走到黑。以该图为例:先走A,然后到B,到了B有三种情况,意味着这条路还没走完,那我就接着走,从B走到E,走到E之后没路了。那我就回溯到B,为什么呢?因为我原本走到B的时候就有三种情况,但是刚刚只走了一种情况,因此我......
  • 力扣第五十九题——螺旋矩阵II
    内容介绍给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 nxn 正方形矩阵 matrix 。示例1:输入:n=3输出:[[1,2,3],[8,9,4],[7,6,5]]示例2:输入:n=1输出:[[1]]提示:1<=n<=20完整代码classSolution{publi......
  • 小猫爬山——dfs模板题一道
    最近做搜索里面的题目,发现还是有很多漏洞的比如下面这道小猫爬山题,还是不会做看的答案...气死我了小猫爬山时间限制: 1.000 Sec  内存限制: 128MB提交 状态题目描述Freda和rainbow饲养了N只小猫,这天,小猫们要去爬山。经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦......