![](https://img-blog.csdnimg.cn/20210430113004284.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
LeetCode周赛
文章平均质量分 68
无
Taoger_Xu
这个作者很懒,什么都没留下…
展开
-
LCP 31. 变换的迷宫
文章目录题目链接题目分析: 题目链接 LCP 31. 变换的迷宫 题目分析: 典型的多维BFS/DFS搜索题,考虑状态表示为[x][y][t][f1][f2],表示坐标(x,y)的点在t时刻,两种卷轴的使用情况为f1,f2(为1表示未使用)能否到达终点,这里注意点下一时刻可能是停在原地的,所以枚举方向为5个,临时卷轴比较好处理,直接有f[x][y][t][1][f2]--->f[nx][ny][t+1][0][f2],但是选了永久卷轴后我们要记录选的这个点的坐标(x,y),不妨这样考虑,假设最原创 2021-04-22 09:15:01 · 156 阅读 · 0 评论 -
二叉树染色(树形DP)
文章目录题目大意:题目大意:AC 代码 题目大意: 题目链接 题目大意: 很容易看出这是一道树形DP,之前一直写的是数组模拟树的节点,第一次接触引用写法,其实不太难,记录一下: 状态表示: **f[u][j]**表示u为根节点,且u节点包括自己连接的蓝色节点个数为:j 状态转移:考虑u节点是否被染色: u节点不被染色: j==0 f[u][0]=max(f[ul][x])+max(f[ur][y],0≤x≤k,0≤y≤k{\small {\color{Red} f[u][0]=max(f[ul][x])原创 2021-04-12 09:42:34 · 875 阅读 · 0 评论 -
5725. 序列中不同最大公约数的数目
文章目录题目大意思路分析AC代码 题目大意 题目链接 思路分析 这道题刚开始还以为每个数选还是不选,可能是DP,后来抽风聚聚提示用数论,观察1 <= nums[i] <= 2 * 105,所有可能的最大公约数都在这个范围内,尝试枚举该范围的每一个数x,check是否存在这样的子序列满足gcd==x,枚举x的倍数是否在数组中出现x,2x,3x,4x....直至kx<=2e5;假设x在数组中出现的倍数为1, 2, 3, 4,7,这样的序列中只要有任意两个k1,k2满足gcd9k1,k2)原创 2021-04-04 17:35:49 · 260 阅读 · 0 评论 -
5724. 绝对差值和
文章目录题目大意思路分析分析坑点AC代码 题目大意 题目链接 思路分析 思路参考 分析 题目大意就是可以更换nums1中的一个数为nums1中的另一个数,最后让绝对值之和最小,容易想到的贪心策略是找到绝对值最大的那一组,然后更换对应的数让它变小,后来发现这种贪心是不对的,比如[8,0,9] 和[6,7,7],只会越换越大,所以应该扫描一遍nums1,维护出更换nums[i]后绝对值减小的最大值; 坑点 更换nums[i]时,应该贪心的更换左右两边距离nums2[i]最近的,这里采用二分,注意越界的判原创 2021-04-04 17:17:38 · 323 阅读 · 1 评论 -
5716. 好因子的最大数目
文章目录题目大意:思路分析:AC代码: 题目大意: 题目链接 输入输出: 思路分析: 假设质因子的数目为k时:n可以表示为:Pi表示质因子,Ai表示对应质因子的个数 p1a1∗p2a2∗p3a3.....∗pkak {\color{Red} p1^{a1}*p2^{a2}*p3^{a3}.....*pk^{ak}} p1a1∗p2a2∗p3a3.....∗pkak, 根据题目要求满足: ∑1kai=primeFactors{\color{Red} {\scriptsize {\textstyle \s原创 2021-03-28 16:02:07 · 155 阅读 · 0 评论 -
1793. 好子数组的最大分数
文章目录题目大意思路分析 题目大意 给你一个整数数组 nums (下标从 0 开始)和一个整数 k 。 一个子数组 (i, j) 的 分数 定义为 min(nums[i], nums[i+1], …, nums[j]) * (j - i + 1) 。一个 好 子数组的两个端点下标需要满足 i <= k <= j 。 请你返回 好 子数组的最大可能 分数 。 输入输出 输入:nums = [1,4,3,7,4,5], k = 3 输出:15 解释:最优子数组的左右端点下标是 (1, 5) ,原创 2021-03-23 01:21:31 · 189 阅读 · 0 评论 -
1803. 统计异或值在范围内的数对有多少
周赛题解题目大意:思路分析闲扯思路AC代码(带注释,方便复习) 题目大意: 统计异或值在范围内的数对有多少 给你一个整数数组 nums (下标 从 0 开始 计数)以及两个整数:low 和 high ,请返回 漂亮数对 的数目。 漂亮数对 是一个形如 (i, j) 的数对,其中 0 <= i < j < nums.length 且 low <= (nums[i] XOR nums[j]) <= high 。 输入输出 输入:nums = [1,4,2,7], low =原创 2021-03-23 01:12:57 · 272 阅读 · 0 评论