随笔分类 -  C++算法 / 排序

摘要:题外话 本题属于赛后补题系列,以后我会陆陆续续在这个系列中更新曾经比赛中未做出来的题。 本题做法 排序,贪心,差分。 思路 这题中每一个点的覆盖方式可以看做 2 种情况: 士兵一开始就部署在这个点上,不影响体力消耗。 士兵从相邻的 2 个点之一巡逻而来,体力消耗为 2 个点距离这个点的距离。 我们要 阅读全文
posted @ 2025-05-20 22:10 2789617221guo 阅读(73) 评论(0) 推荐(0)
摘要:本题做法 二分查找,排序。 思路 我们可以先将科技创新奖的名单读入到 \(b\) 数组中,特殊贡献奖的名单读入到 \(a\) 数组中,然后先排序 \(a\) 数组,接着就开始遍历 \(b\) 数组,对于每一次遍历,我们在 \(a\) 中二分查找 \(b_i\),若存在,则输出 \(b_i\)。 为什 阅读全文
posted @ 2025-04-07 22:07 2789617221guo 阅读(33) 评论(0) 推荐(0)
摘要:本题做法 贪心+排序+双指针 two-pointers。 思路 对于这道题,我们不难发现,当每次跳跃的 \(|h_i-h_j|\) 越大,最后消耗的体力值就越多。 我们可以使用双指针,一个指向开头(即 \(l=1\)),另一个指向结尾(即 \(r=n\))。进行循环 \(i:1\sim n\) 次, 阅读全文
posted @ 2025-03-13 21:26 2789617221guo 阅读(48) 评论(0) 推荐(0)