摘要: 戳我看原题 解法思路 本题要求对于每个位置i,找出以i为结尾的最长非递减子序列的长度。我们可以利用最长递增子序列(LIS)的贪心+二分优化思路来解决。 维护数组g:g[i]表示长度为i+1的最长非递减子序列的最小末尾元素。 遍历每个元素:对于每个障碍高度x,使用二分查找在g中找到第一个大于x的位置。 阅读全文
posted @ 2025-04-03 00:25 Xhita 阅读(12) 评论(0) 推荐(0)
摘要: 题目链接 题目概述 给定一个包含 n 个城市的图(可能不连通),以及若干双向道路及其距离。定义路径的分数为路径中道路的最小距离,求从城市 1 到城市 n 的所有路径中,分数的最小值。 思路分析 关键点:对于任何路径,其分数由路径中的最小边决定。因此,全局最小分数即为连接城市 1 和 n 的连通分量中 阅读全文
posted @ 2025-03-21 00:04 Xhita 阅读(13) 评论(0) 推荐(0)
摘要: C语言数组基础讲解 什么是数组? 数组(Array)是相同数据类型元素的有序集合,通过一个名称来存储多个同类型数据。当我们需要处理大量相似数据时(例如:50个学生的成绩),使用数组可以避免定义大量独立变量。 数组的声明 数据类型 数组名[数组长度]; 示例:int scores[5]; // 声明一 阅读全文
posted @ 2025-03-13 17:56 Xhita 阅读(56) 评论(0) 推荐(0)
摘要: 原题链接 题目分析 题目要求计算在水平线(x轴)上,多个圆在各自覆盖区域内每个整数坐标点处的纵向覆盖点数之和。每个圆在某个x坐标点j处的纵向覆盖点数为2h + 1,其中h是满足h ≤ sqrt(r^2 - (x - j)^2)的最大整数。最终,对每个坐标点j取所有覆盖该点的圆中最大的纵向点数,并将所 阅读全文
posted @ 2025-03-13 16:07 Xhita 阅读(16) 评论(0) 推荐(0)
摘要: 至多K次操作后的最长回文子序列 题目大意 在一次操作中,你可以将任意位置的字符替换为字母表中相邻的字符,返回在进行最多k次操作后,s 的最长回文子序列的长度。 思路 使用了区间dp的思想,开三维数组,一个记录k的情况,还有两个记录数组的起始与终止位置。 与经典背包问题类似,主要思想在于是否要对当前节 阅读全文
posted @ 2025-03-04 17:40 Xhita 阅读(16) 评论(0) 推荐(0)
摘要: “强烈谴责那些半夜内卷的人” 戳我看原题 题目大意 一个含有 n 项的数列,求出每一项前的 m 个数到它这个区间内的最小值。若前面的数不足 m 项则从第 1 个数开始,若前面没有数则输出 0。 思路 滑动窗口+单调队列,类似于单调栈。可以先看看单调栈<点我>。 使用单调队列储存下标,保留标准是当前元 阅读全文
posted @ 2025-02-23 13:53 Xhita 阅读(16) 评论(0) 推荐(0)
摘要: >"是谁在新年旅行时还在写题解我不说" 戳我看原题 题目大意 算了直接上原文: 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这 阅读全文
posted @ 2025-01-29 22:30 Xhita 阅读(15) 评论(0) 推荐(0)
摘要: > “偶遇变态力扣周赛,拼尽全力无法战胜,力竭而亡,无奈去刷基础题,遂写下此题解” 戳我看原题 题目大意 给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。 思路 滑动窗口(不知道为啥最近和滑动窗口这么有缘),遍历右边界,每次移动更新左边界,确保窗口内不会出现重复元素。 如何更新左边界 阅读全文
posted @ 2025-01-20 20:00 Xhita 阅读(9) 评论(0) 推荐(0)
摘要: 摘樱桃II “作为一个合格的程序员,理应具有修bug修到凌晨4点的魄力” 戳我查看原题。 题目大意 给定一个矩阵,矩阵中的每个数代表该点的樱桃个数。Robot1、Robot2分别从左上角与右上角出发,每次只能选择向正下方、左下方、右下方三个方向移动去采摘樱桃,到达矩阵的最后一行终止。若Robot1与 阅读全文
posted @ 2025-01-11 12:47 Xhita 阅读(26) 评论(0) 推荐(1)