Ch5501-环路运输【环形处理dp】

正题

题目链接:http://contest-hunter.org:83/contest/0x50%E3%80%8C%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E3%80%8D%E4%BE%8B%E9%A2%98/5501%20%E7%8E%AF%E8%B7%AF%E8%BF%90%E8%BE%93


题目大意

有n座仓库,然后是一个环,两个仓库之间的运输距离为

Ai+Aj+dis(i,j)Ai+Aj+dis(i,j)

dis(i,j)=min(|ij|,N|ij|)dis(i,j)=min(|i−j|,N−|i−j|)


解题思路

我们将A复制一份放在原数组后面,然后就变成了2*n的线性。然后我们枚举i,之后i和j的距离为Ai+Aj+ijAi+Aj+i−j,于是我们可以找到在n/2范围之内的最小的AjjAj−j,于是我们可以用单调队列维护一下就好了。


code

#include<cstdio>
#include<algorithm>
#include<queue>
#define N 2000010
using namespace std;
int n,a[N],maxs;
deque<int> q;
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&a[i]);a[i+n]=a[i];}for(int i=1;i<=2*n;i++){while(!q.empty()&&i-q.front()>n/2) q.pop_front();//维护区间if(i>=n)maxs=max(maxs,a[i]+i+a[q.front()]-q.front());//统计答案while(!q.empty()&&a[q.back()]-q.back()<a[i]-i) q.pop_back();//维护单调性q.push_back(i);//压入}printf("%d",maxs);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323713.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaFX鼠标移动事件

一、节点原鼠标移动事件 //鼠标进入node node.setOnMouseEntered(event->{//do something });//鼠标退出node node.setOnMouseExited(event->{//do something });//鼠标移动 node.setOnMouseMoved(event->{//do something }); 二、节点监听鼠标移动事件 //鼠标进入 …

对于这款APP,我充了个终身VIP!!!

“大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。”现在是&#xff1a;2022年3月15日00:02:07昨天&#xff0c;无意间知道了一款特牛的APP&#xff0c;看了看&#xff0c;决定充了个终身会员&#xff01;今天&#xff0c;我就简单的对这…

Ubuntu amp;amp; GitLab CI amp;amp; Docker amp;amp; ASP.NETnbs

上一篇&#xff1a;Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署&#xff08;1&#xff09; 服务器版本 Ubuntu 16.04 LTS。 本篇博文目的&#xff1a;项目中添加Dockerfile文件&#xff0c;使用 CI 脚本构建自定义镜像&#xff0c;推送到 …

POJ2411-Mondriaan's Dream【状态压缩dp】

正题 题目链接:http://poj.org/problem?id2411 题目大意 有nmnm的矩阵&#xff0c;用1212的方块填满有多少种方法。 解题思路 用1表示竖着的块的上面&#xff0c;其他都是0。 我们先计算出所有单排合法状态&#xff08;横着的都是连续的偶数&#xff09;。 然后我们用sta…

JavaFX拖放事件

一、拖拽事件 DRAG_ENTERED_TARGET 拖拽进入node&#xff08;包括进入子node&#xff09; DRAG_ENTERED 拖拽进入node DRAG_EXITED_TARGET 拖拽退出node&#xff08;包括退出子node&#xff09; DRAG_EXITED 拖拽退出node DRAG_DROPPED 拖拽放下源node DRAG_DO…

新版《Windows Sysinternals实战指南》,读书积赞活动

新书《Windows Sysinternals实战指南》即将上市。该本由Sysinternals创始人、Windwos内核技术专家Mark Russinovich 与 Windows专家Aaron Margosis联手编著&#xff0c;详细介绍了Sysinternals每款工具的独到功能&#xff0c;并用较多篇幅深入介绍了如何通过几款重量级工具优化…

Bladex生成Swagger的方法

一、在启动类中添加如下代码&#xff1a;&#xff08;目的是为了打印输出swagger的地址等&#xff09; 注解&#xff1a;Slf4j 实现接口&#xff1a;CommandLineRunner 依赖注入&#xff1a; Autowiredprivate Environment environment;Overridepublic void run(String... str…

了解spark计算模型

简介 在集群背后&#xff0c;有一个非常重要的分布式数据架构&#xff0c;即弹性分布式数据集&#xff08;resilient distributed dataset&#xff0c;RDD&#xff09;&#xff0c;它是逻辑集中的实体&#xff0c;在集群中的多台机器上进行了数据分区。通过对多台机器上不同RDD…

P1955-[NOI2015]程序自动分析【并查集,离散化】

正题 评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidP1955 题目大意 给出若干个关系&#xff0c;xi≠xj or xixjxi≠xjorxixj&#xff0c;然后求是否全部都满足。 解题思路 首先由于数据较大&#xff0c;所以我们先离散化&#xff0c;然后用并查集。…

如何理解事件溯源

在近期举行的PHPDublin见面会上&#xff0c;来自DynamicRes的架构师Barry Sullivan被问到“什么是事件溯源”&#xff0c;作为对这个问题的回答&#xff0c;他在博客上写下了这篇文章&#xff0c;详细解释了什么是事件溯源以及事件溯源有哪些好处。以下内容翻译自Barry的博客&a…

JavaFX键盘事件

一、键盘事件 KeyPressed 按键按压 KeyReleased 按键释放 KeyTyped 按键类型 二、用法 node.setOnXX(event->{//do something });node.addEventFilter(KeyEvent.XX, event -> {//do something});

java中日期处理的一些工具方法

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 前言 现在是2022年4月16日15:35:14&#xff01;忙里偷闲&#xff0c;直接来看方法吧&#xff0c;写完文章继续去改Bug: 1.计算两个日期之间相差的天数 /*** param stratTime 开始时间* p…

POJ1456-Supermarket【并查集】

正题 题目链接:http://poj.org/problem?id1456 题目大意 有n个货物&#xff0c;有不同的过期时间&#xff0c;过期了就卖不掉了&#xff0c;每个物品卖掉有不同的价值&#xff0c;每天只能卖一个货物&#xff0c;求最大价值。 解题思路 我们可以先排序一下价值 我们用并查…

ASP.NET Core 运行原理解剖[5]:Authentication

在现代应用程序中&#xff0c;认证已不再是简单的将用户凭证保存在浏览器中&#xff0c;而要适应多种场景&#xff0c;如App&#xff0c;WebAPI&#xff0c;第三方登录等等。在 ASP.NET 4.x 时代的Windows认证和Forms认证已无法满足现代化的需求&#xff0c;因此在ASP.NET Core…

bladex自定义分页

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 前言 现在是2022年4月16日21:44:05&#xff01;今天分享一个代码段&#xff0c;个人觉得还是比较有参考性的。 后端使用框架&#xff1a;bladex前端使用技术&#xff1a;AVue功能:自定义分…

JavaFX滚动事件

一、滚动事件 SCROLL 滚动 SCROLL_STARTED 滚动开始 SCROLL_FINISHED 滚动结束 二、用法 node.setOnXX(event->{//do something });node.addEventFilter(ScrollEvent.XX, event -> {//do something});

bladex中自定义分页的写法~

“大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂”前言现在是2022年4月16日21:44:05&#xff01;今天分享一个代码段&#xff0c;个人觉得还是比较有参考性的。后端使用框架&#xff1a;bladex前端使用技术&#xff1a;AVue功能:自定义分…

POJ1733,jzoj1779-Parity game(奇偶游戏)【带权并查集,离散化】

正题 POJ题目链接:http://poj.org/problem?id1733 jzoj题目链接:https://jzoj.net/senior/#main/show/1779 题目大意 长度为ll的01串,n" role="presentation" style="position: relative;">nn个答案&#xff0c;表示一段区间内有偶数或奇数个…

OpenID Connect:OAuth 2.0协议之上的简单身份层

OpenID Connect是什么&#xff1f;OpenID Connect(目前版本是1.0)是OAuth 2.0协议(可参考本人此篇&#xff1a;OAuth 2.0 / RCF6749 协议解读)之上的简单身份层&#xff0c;用 API 进行身份交互的框架&#xff0c;允许客户端根据授权服务器的认证结果最终确认用户的身份&#x…

JavaFX触屏事件

一、Touch 接触 TOUCH_PRESSED 按压 TOUCH_MOVED 移动 TOUCH_RELEASED 释放 TOUCH_STATIONARY 长按 二、Scroll 滚动 SCROLL 滚动 SCROLL_STARTED 滚动开始 SCROLL_FINISHED 滚动结束 三、Swipe 单指滑动 SWIPE_LEFT 单指滑动向左 SWIPE_RIGHT 单指滑动向右…