当前位置: 首页 > news >正文

P9691 [GDCPC 2023] Base Station Construction题解

直接枚举会超时,注意到 pre[i] 是单调不减的,因此可以用单调队列维护 dp[j] 的最小值。

单调队列优化

  • 使用双端队列 dq 存储下标 j,保证队列中 dp[j] 单调递增。
  • 对于每个 i
    1. 弹出队首所有 < pre[i] 的下标(它们不再可用)。
    2. 此时队首下标对应的 dp 值即为最小,计算 dp[i] = dp[dq.front()] + a[i]
    3. i 加入队尾,并弹出队尾中 dp 值 ≥ dp[i] 的下标(保持单调性)。

最后 dp[n+1] 即为答案(因为虚拟点成本为 0,它不会增加总成本,但帮助我们统一处理)。

复杂度分析

  • 预处理 pre 数组:O(n + m)
  • 动态规划:每个位置进出队列一次,O(n)
  • 总复杂度:O(n + m),满足题目要求。

代码实现

#include <bits/stdc++.h>
using ll = long long;
using namespace std;
const ll N = 5e5 + 10, inf = 0x3f3f3f3f3f3f3f3f;void solve() {int n;cin >> n;vector<ll> a(n + 2);for (int i = 1; i <= n; i++)cin >> a[i];a[++n] = 0; // 添加虚拟点vector<ll> pre(n + 2, 0); // pre[i] 表示所有右端点 < i 的区间的左端点最大值int m;cin >> m;for (int i = 1; i <= m; i++) {int l, r;cin >> l >> r;// 要求 r+1 之前必须有一个基站位于 ≥ l 的位置pre[r + 1] = max(pre[r + 1], (ll)l);}pre[1] = 0; // 左端点最大值为0for (int i = 2; i <= n; i++) {pre[i] = max(pre[i], pre[i - 1]);} // 前缀最大值vector<ll> dp(n + 1, 0); // dp[i] 表示在 i 处建站deque<int> dq;dq.push_back(0);for (int i = 1; i <= n; i++) {// 弹出队首所有小于 pre[i] 的下标(不再能作为上一个基站的位置)while (!dq.empty() && dq.front() < pre[i])dq.pop_front();// 队首 dp 值最小,转移得到 dp[i]dp[i] = dp[dq.front()] + a[i];while (!dq.empty() && dp[dq.back()] >= dp[i])dq.pop_back();dq.push_back(i);}cout << dp[n] << '\n';
}int main() {ios::sync_with_stdio(false);cin.tie(nullptr);int T;cin >> T;while (T--)solve();return 0;
}
http://www.jsqmd.com/news/424384/

相关文章:

  • 实战指南:使用 kubeadm 构建高可用 Kubernetes 1.32 集群
  • redis (四) 达人探店
  • 无线充电是什么原理?会损耗电池吗?
  • 移动话费充值卡回收,聪明人的变现秘籍 - 京顺回收
  • GEO优化选购,火杉互联在深圳价格多少,好用不? - myqiye
  • FileLocatorPro_9.3.3544.1 x64 记录
  • 2026年TikTok海外短视频培训服务费用揭秘,怎么收费 - mypinpai
  • 2026年知名的防尘地坪漆/耐磨地坪漆厂家热销推荐 - 行业平台推荐
  • 2026年比较好的新能源工厂样品检验化验传输系统/化工厂样品检验化验传输系统品牌厂商推荐(更新) - 行业平台推荐
  • 2026年整体衣柜优质生产商怎么收费,驻马店厂家排名大揭秘 - 工业品牌热点
  • aaa
  • 2026年评价高的四川航空专业留学/航空航天留学服务质量表现稳定的机构 - 行业平台推荐
  • 江西万通学院学费多少钱,收费合理吗? - 工业品网
  • 干货合集:8个降AI率网站评测对比,继续教育必看!
  • 盘点2026年玉溪假期补课服务有哪些,滇云教育特色多 - 工业设备
  • 开放教育就业前景如何,湖北开放大学开放教育学习方式有优势吗? - 工业推荐榜
  • 说好了做游戏+自媒体,今天迈出了极其可笑的第一步
  • 不用花钱本地跑!Qwen3.5+OpenClaw一键部署,小白也会
  • 计算机毕业设计springboot基于Java考研学习平台 基于SpringBoot框架的研究生入学考试在线辅导系统设计与实现 Java Web技术驱动的考研备考资源共享与互动学习平台构建
  • BigVGAN神经声码器技术解析与应用 [特殊字符]
  • 2026年 成都防水堵漏公司哪家好?卫生间堵漏、底面防水、屋顶防水业主实测!本地正规top3公司避坑+选择指南 - 宁夏壹山网络
  • 计算机毕业设计springboot高校大学生实习服务管理系统 SpringBoot框架下高校学生实践教学管理与服务平台的设计与实现 基于Java Web技术的高校毕业生顶岗实习全流程管理系统
  • ROS2-通信机制00:简介(不同通信机制的应用场景)【话题通信、服务通信、动作通信、参数服务】【不同通信对象(Node)通过话题(Topic)关联到一起:节点A⬅话题⮕节点B】
  • 探讨磁混凝绿色环保厂家,浙江地区口碑好的有几家? - mypinpai
  • ROS2-通信机制02:服务通信【客户端(多)⮂话题A(Topic消息队列)⮂服务端(一))】【适用于偶然的,对实时性有要求,具有一定逻辑处理需求的场景】【接口文件:.srv文件】
  • 聊聊新型RGV平板车,兰灵机械的产品性价比高不高,费用多少? - 工业推荐榜
  • 江苏三坐标培训学校口碑大比拼,哪家更受学员青睐?走心机培训/UG培训/电工培训,三坐标培训职业学校推荐排行榜 - 品牌推荐师
  • 计算机毕业设计springboot智能体检导诊系统 基于SpringBoot的智慧医疗体检服务平台 基于微服务架构的医院智能导检预约系统
  • 微服务API设计的实践与思考总结
  • VUI Labs(宇生月伴)再获数千万元融资,端侧同传小模型已商业化落地;OpenAI 获超千亿美元融资,估值直逼特斯拉 丨日报