前言
开一个新坑,记录一下每周的周赛情况
把每周不会的题尽可能地补一下 作为补充
锻炼思维的同时,提升写代码的速度和准度
C. 知道秘密的人数
链接: https://leetcode.cn/problems/number-of-people-aware-of-a-secret/
题意
在第 1 天,有一个人发现了一个秘密。
给你一个整数 delay ,表示每个人会在发现秘密后的 delay 天之后,每天 给一个新的人 分享 秘密。同时给你一个整数 forget ,表示每个人在发现秘密 forget 天之后会 忘记 这个秘密。一个人 不能 在忘记秘密那一天及之后的日子里分享秘密。
给你一个整数 n ,请你返回在第 n 天结束时,知道秘密的人数。由于答案可能会很大,请你将结果对 109 + 7 取余 后返回。
解法
比赛的时候当天赶时间,甚至第三题都没做出来
签了两题就溜了
晚上睡觉的时候一直在想到底是哪里出了问题
用一个remb数组记录第i天有多少人开始传播,fort数组记录第i天有多少人忘记秘密
spread记录当天可以传播秘密的人数,num表示当天知道秘密的人
然后维护一下各个值就好了
代码
1 | typedef long long ll; |
D. 网格图中递增路径的数目
链接: https://leetcode.cn/problems/number-of-increasing-paths-in-a-grid/
题意
给你一个 m x n 的整数网格图 grid ,你可以从一个格子移动到 4 个方向相邻的任意一个格子。
请你返回在网格图中从 任意 格子出发,达到 任意 格子,且路径中的数字是 严格递增 的路径数目。由于答案可能会很大,请将结果对 1e9 + 7 取余 后返回。
解法
周赛的时候看这题
好像不难 但没什么感觉 没做出来
赛后发现就一个dfs 记忆化一下就可以
代码
1 | typedef long long ll; |