关注
第一题:本质上是求哪个题会的人最多,考虑到直接把每个区间暴力加起来会 T,于是采用差分的思想,对 l~r 这一段整体+1,对差分数组而言,只需要 d[l]++,d[r + 1]-- 即可。最后对差分数组做一个前缀和即可还原为原数组,原数组的最大值就是 ans。
第二题:记 dp[i] 表示上一个站建设在位置 i 的最小花费,则 dp[i] 必然是从 dp[0]、dp[1]、...、dp[i - 1] 转移过来,由于 m 只有 1000,直接暴力枚举这些位置 j,然后转移是 dp[i] = min(dp[i], dp[j] + dis_sum[j + 1][i] + c[i])。
其中,dis_sum[l][r] 表示将 l~r 这一段的包裹都送到 r 的距离和,这个需要提前预处理,不然每次都算一遍复杂度会炸。
预处理的方法也简单,首先 dis_sum[i][i] 可以直接得到(定义为第 i-1 个站到第 i 个站之间的包裹全部送到 i 的距离和),其次 dis_sum[l][r] 可以从 dis_sum[l][r - 1] 转移过来,转移的时候只需要知道 l ~ r-1 这一段有多少包裹就行,记这个数量为 cnt,则 dis_sum[l][r] = dis_sum[l][r - 1] + cnt * (b[r] - b[r - 1]) + dis_sum[r][r]。其中 cnt 可以用前缀和预处理到 O(1)。
最后的答案从 dp[k] dp[k+1] ... dp[m] 中取最小值,其中 k 是比所有包裹都远的第一个位置。
查看原帖
5 3
相关推荐
12-02 13:25
门头沟学院 Java 点赞 评论 收藏
分享
孩子我想要offer:发笔试后还没笔试把我挂了,然后邮箱一直让我测评没测,后面不知道干嘛又给我捞起来下轮笔试,做完测评笔试又挂了😅
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# uu们,春招你还来吗? #
15440次浏览 103人参与
# 2025年终总结 #
16347次浏览 258人参与
# 百融云创求职进展汇总 #
313次浏览 0人参与
# 哪一瞬间让你觉得“这班不如不上” #
13588次浏览 165人参与
# 实习,不懂就问 #
133858次浏览 1239人参与
# 工作前VS工作后,你的心态变化 #
15358次浏览 171人参与
# 第一份工作能做外包吗? #
87672次浏览 586人参与
# 硬件兄弟们 甩出你的华为奖状 #
117622次浏览 701人参与
# 国企和大厂硬件兄弟怎么选? #
138316次浏览 1671人参与
# 毕业租房也有小确幸 #
148185次浏览 4525人参与
# 记录实习开销 #
169422次浏览 661人参与
# 为了去实习,我赌上了___ #
23587次浏览 213人参与
# 面试紧张时你会有什么表现? #
16288次浏览 135人参与
# 软开人,秋招你打算投哪些公司呢 #
168465次浏览 1282人参与
# 高薪高压 vs 低薪wlb,你怎么选? #
14061次浏览 154人参与
# 父母对你找工作是助力还是阻力? #
14867次浏览 218人参与
# Offer比较,你最看重什么? #
241287次浏览 1486人参与
# 学历or实习经历,哪个更重要 #
203384次浏览 1080人参与
# 一人推荐一个值得做的项目 #
11225次浏览 166人参与
# 你觉得第一学历对求职有影响吗? #
208218次浏览 1172人参与
# 秋招暂停,我将对以下公司做出处罚__ #
42946次浏览 176人参与
查看11道真题和解析