摘要:
题目回顾 我们需要从N种午餐盒中选择若干个,使得: 总章鱼烧数量 ≥ X 总鲷鱼烧数量 ≥ Y 选择的午餐盒数量最少 每种午餐盒只能选一次(0-1背包问题)。 解题思路 这是一个典型的二维费用的0-1背包问题,我们可以使用动态规划(DP)来解决。 DP状态定义 定义 dp[i][j] 表示总章鱼烧 阅读全文
posted @ 2025-05-11 18:19
季风起
阅读(2)
评论(0)
推荐(0)
摘要:
代码注释与解题思路 解题思路 这道题目要求计算一个整数序列中所有两两元素乘积的和(即对于所有i<j的组合,计算A_i × A_j并求和)。 直接使用双重循环计算所有i<j的组合会导致O(n²)的时间复杂度,这在n很大(如3×10⁵)时会非常低效。我们需要找到一种数学方法来优化计算。 关键数学推导 我 阅读全文
posted @ 2025-05-11 17:51
季风起
阅读(10)
评论(0)
推荐(0)
摘要:
解题思路 这道题目要求我们计算网格中每个可通行的走廊位置到最近紧急出口的最短距离。解题的关键在于: 多源广度优先搜索(BFS):由于网格中可能有多个紧急出口(E),我们需要从所有E同时开始搜索,计算每个位置到最近E的距离。 距离传播:从每个E出发,逐步向外扩展,记录每个位置到E的最短步数。使用队列来 阅读全文
posted @ 2025-05-11 12:44
季风起
阅读(8)
评论(0)
推荐(0)
摘要:
解题思路 题目分析: 题目要求判断给定排名 R 和比赛级别 X(1或2)是否满足对应级别的评级范围。 Div. 1 的评级范围是 1600 ≤ R ≤ 2999。 Div. 2 的评级范围是 1200 ≤ R ≤ 2399。 输入输出: 输入:两个整数 R 和 X。 输出:如果 R 在对应 X 的范 阅读全文
posted @ 2025-05-11 12:10
季风起
阅读(3)
评论(0)
推荐(0)
摘要:
代码注释与解题思路 解题思路 这道题目要求我们找到一个序列A,通过移除末尾元素的操作,使得序列不再包含1到M的所有整数。我们需要找出最少需要移除多少个末尾元素才能满足这个条件。 关键思路: 检查初始状态:首先判断原始序列是否已经不符合条件(即不包含1到M的所有整数) 寻找临界点:如果初始符合条件,则 阅读全文
posted @ 2025-05-11 12:08
季风起
阅读(4)
评论(0)
推荐(0)