尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

21 ACwing 289 环路运输 题解

21 ACwing 289 环路运输 题解
📅 发布时间:2026/6/19 3:26:40

环路运输

题面

在一条环形公路旁均匀地分布着 N 座仓库,编号为 1∼N,编号为 i 的仓库与编号为 j 的仓库之间的距离定义为 \(dist(i,j)=min(|i−j|,N−|i−j|)\),也就是逆时针或顺时针从 i 到 j 中较近的一种。

每座仓库都存有货物,其中编号为 i 的仓库库存量为 \(A_i\)。

在 i 和 j 两座仓库之间运送货物需要的代价为 \(A_i+A_j+dist(i,j)\)。

求在哪两座仓库之间运送货物需要的代价最大。

\(2 \le N \le 10^6\)

\(1 \le A_i \le 10^7\)

题解

这道题朴素的枚举是 \(O(N^2)\) ,所以要优化

因为题目给定的实际上是个环形结构,那么我们可以将其转化成一个线性结构,也就是常用的断环为链技巧复制一倍放末尾

那么对于 \(1 \le j < i \le N \times 2\)

当 \(i - j \le \frac N 2\) 那么 \(dist(i,j) = i - j\)

否则就对应着在 \(j + N \to i\) 之间的距离,也就是 \(N + j - i = N - (i - j) < \frac N 2\)

这样问题就变成了在一个长度为 \(2N\) 的序列上找到满足 \(1 \le j < i \and i - j \le N / 2\) 的 \(i,j\) 中 \(A_i + A_j + i - j\) 的最大值

所以我们可以枚举 \(i\) ,求出 \(\max_{i - \frac N 2 \le j < i} \{ A_i + A_j + i - j \} = \max_{i - \frac N 2 \le j < i} \{ A_j - j \} + A_i + i\) ,用单调队列即可 \(O(N)\) 求解

code

#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>using namespace std;const int N = 2e6 + 10;int n, a[N];
int q[N];int main () {cin >> n;for (int i = 1; i <= n; i ++) {cin >> a[i];}for (int i = n + 1; i <= n * 2; i ++) {a[i] = a[i - n];}int ans = 0;int h = 1, t = 0;for (int i = 1; i <= n * 2; i ++) {while (h <= t && q[h] < i - n / 2) h ++;if (h <= t) ans = max (ans, a[i] + i + a[q[h]] - q[h]);while (h <= t && a[q[t]] - q[t] < a[i] - i) t --;q[++t] = i;}cout << ans << endl;return 0;
}

相关新闻

  • 13 ACwing 283 Polygon 题解
  • 12 ACwing 282 石子合并 题解
  • 某中心科学家荣获多项计算机技术大奖

最新新闻

  • 机器学习模型上线后如何应对系统性风险与数据漂移
  • 什么是伯乐电穿孔仪 - 实了个验
  • CTF密码学实战:Python AES加解密核心原理与攻击技巧
  • 2026 南宁钻石回收最新行情,克拉钻裸钻实时报价参考 - 讯息早知道
  • 北京东城区黄金回收指南:收的顶专业机构VS银行VS金店怎么选? - 奢侈品回收测评
  • 2026西安黄金行情解析|高位变现时机与门店测评 - 奢侈品回收测评

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号