上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 56 下一页
摘要: 解题思路 这道题可以建模为一个单源最短路问题,目标是找到从初始商品 a 到目标商品 b 的最小花费(可能是负数)。 关键点分析 商品交换的花费计算: 如果 v[x] > v[y],交换后你会获得 v[x] - v[y] 元,但需要支付 1 元手续费,所以总花费是 -(v[x] - v[y]) + 1 阅读全文
posted @ 2025-05-07 14:45 CRt0729 阅读(27) 评论(0) 推荐(0)
摘要: 解题思路 这道题目需要我们统计一个字符串中出现的"boy"和"girl"单词的数量。由于这些单词可能被部分覆盖,所以不能简单地查找完整单词,而要识别出每个字符属于哪个单词。 方法思路 字符识别:遍历字符串中的每个字符,判断它属于"boy"还是"girl"单词的一部分。 独立计数: 对于"boy":' 阅读全文
posted @ 2025-05-01 15:34 CRt0729 阅读(85) 评论(0) 推荐(0)
摘要: 解题思路 这道题目需要找到在满足特定条件下,主办方需要颁发的最小礼物数量。条件是不能有得分更高的人没拿到礼物而得分更低的人却拿到礼物。 方法思路 排序处理:将所有人的得分按从高到低排序,这样可以方便地处理得分高低的关系。 确定初始礼物数量:主办方至少需要颁发k件礼物,所以初始时取前k个得分最高的人。 阅读全文
posted @ 2025-05-01 15:17 CRt0729 阅读(22) 评论(0) 推荐(0)
摘要: 解题思路 这道题目需要找出同时获得科技创新奖和特殊贡献奖的人员名单,并按科技创新奖名单中的顺序输出。 方法思路 输入处理:首先读取两个奖项的获奖人数和具体名单。 排序处理:对特殊贡献奖的名单进行排序,以便后续使用二分查找提高效率。 查找共同获奖者:遍历科技创新奖的名单,对于每个获奖者,使用二分查找在 阅读全文
posted @ 2025-05-01 15:15 CRt0729 阅读(33) 评论(0) 推荐(0)
摘要: 解题思路 本题需要解决的是在带权无向图中,找到两点间路径的最小边权的最大值(即最大瓶颈路)。核心步骤包括: 构建最大生成树:使用Kruskal算法,确保路径上的最小边权尽可能大 预处理LCA和路径最小值:使用倍增法预处理每个节点的祖先信息和路径最小边权 查询处理:对于每个查询,通过LCA找到路径并确 阅读全文
posted @ 2025-04-29 19:52 CRt0729 阅读(41) 评论(0) 推荐(0)
摘要: 解题思路 这道题目要求我们在树结构中找到三个节点的最佳集合点,使得三人到达该点的总距离最短。关键点在于: 树的性质:n个节点n-1条边的连通无向图 LCA应用:利用最近公共祖先来高效计算节点间距离 集合点选择:三个节点的最佳集合点必定是某两个节点的LCA #include<bits/stdc++.h 阅读全文
posted @ 2025-04-29 18:54 CRt0729 阅读(45) 评论(0) 推荐(0)
摘要: 解题思路 本题是一道典型的树上差分问题,结合了LCA(最近公共祖先)算法。题目要求我们统计树中每个节点被多少条路径覆盖,并找出被覆盖次数最多的节点。 关键步骤 LCA预处理:使用倍增法预处理每个节点的各层祖先信息,以便快速查询任意两点的LCA 树上差分: 对于每条路径s→t,在s和t节点处+1 在它 阅读全文
posted @ 2025-04-29 17:02 CRt0729 阅读(63) 评论(0) 推荐(0)
摘要: 解题思路 本题是经典的最近公共祖先(LCA)问题,使用倍增算法进行高效求解。倍增算法通过预处理每个节点的各层祖先信息,使得查询时能够快速跳跃查找,达到O(logN)的时间复杂度。 关键步骤 预处理阶段: 使用DFS遍历树结构,记录每个节点的深度和直接父节点 预处理每个节点的2^i级祖先(倍增思想) 阅读全文
posted @ 2025-04-29 16:50 CRt0729 阅读(101) 评论(0) 推荐(0)
摘要: 解题思路 这道题目是关于斐波那契数列和最近公共祖先(LCA)的问题。题目描述了一个兔子繁殖的模型,这个模型遵循斐波那契数列的规律。 关键观察 斐波那契树结构:兔子的编号和繁殖方式形成了一个类似斐波那契树的结构。每个月的兔子数量遵循斐波那契数列增长。 祖先关系:在斐波那契树中,任意一个兔子编号可以表示 阅读全文
posted @ 2025-04-29 16:47 CRt0729 阅读(28) 评论(0) 推荐(0)
摘要: #include<bits/stdc++.h> using namespace std; int main() { int n,m; cin >> n >> m; //m - 2 * n每只动物抬起两条腿,剩下的腿都是兔子的两条腿,除以2就得到兔子数量 int tu = (m - 2 * n) / 阅读全文
posted @ 2025-04-28 23:18 CRt0729 阅读(21) 评论(0) 推荐(0)
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 56 下一页