正题

题目链接: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)

A_i+A_j+dis(i,j)

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

dis(i,j)=min(|i-j|,N-|i-j|)


解题思路

我们将A复制一份放在原数组后面,然后就变成了2*n的线性。然后我们枚举i,之后i和j的距离为Ai+Aj+i−jAi+Aj+i−jA_i+A_j+i-j,于是我们可以找到在n/2范围之内的最小的Aj−jAj−jA_j-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);
}

Ch5501-环路运输【环形处理dp】相关推荐

  1. AcWing 1068. 环形石子合并(环形区间DP)

    AcWing 1068. 环形石子合并(环形区间DP) 一.问题 二.思路 三.代码 一.问题 二.思路 在讲解这道题之前,我们需要先掌握线性的区间DP问题,如果对于线性区间DP的解决方式还不了解的话 ...

  2. AcWing 320. 能量项链(环形区间DP)

    AcWing 320. 能量项链(环形区间DP) 一. 问题: 二.分析: 三.代码 一. 问题: 二.分析: 在讲解这道题之前,大家需要对线性区间DP和环形区间DP有一定的了解,因此如果不会这两个知 ...

  3. CH 5501 :环路运输(DP 环化处理)

    题目大意:有一个圈上有n个点,编号从 1 ~ n,每个点有一个权值A[i],定义 d i s t ( i , j ) = m i n ( ∣ j − i ∣ , n − ∣ j − i ∣ ) dis ...

  4. 1003. [ZJOI2006]物流运输【区间DP+最短路】

    Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转 停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严 ...

  5. BZOJ 1003 物流运输 最短路+dp

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1003 题目大意: 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才 ...

  6. 【bzoj1003】[ZJOI2006]物流运输 最短路+dp

    传送门:嘿原题在这 题意:给出一个图,求1-m的最短路,但其中有些点在某些时间段会不能用,题目保证有解. 我们可以很(不)容易的看出递推关系式dp[i]=min(dp[i],dp[j]+cost[j+ ...

  7. BZOJ 1003 物流运输trans dijstra+dp

    题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=1003 题意: 题解: 首先我们必须机智的知道f[i]=min(f[i],f[j]+cos ...

  8. P1772 [ZJOI2006]物流运输 最短路+DP

    思路:最短路+DP 提交:1次 题解: $f[i]$表示到第$i$天的最小代价,我们可以预先处理出$i,j$两天之间(包括$i,j$)都可通行的最短路的代价记做$s[i][j]$,然后有$f[i]=m ...

  9. 【Gym - 101196F】Removal Game (环形区间dp,环状,细节优化)

    题干: 健健开发了一个游戏叫做<<者护守形隐>>,里面有一个情节是这样的,女主子纯藤武被坏人关在了密室里,作为男主的肖健当然要英雄救美.但是要打开密室的门,必须解开一道谜题. ...

最新文章

  1. 亚马逊自动打包机:1机可顶24人
  2. vue transition动画
  3. 卷进大厂系列之LeetCode刷题笔记:移除链表元素(简单)
  4. 计算机模拟分子设计,计算机模拟分子材料.pdf
  5. springboot干什么的_Spring Boot 项目的这些文件都是干啥用的?
  6. 和我一起构建私有物联网云平台
  7. 利用lxml爬取豆瓣小组内容文档并保存
  8. 删除virtual bridge
  9. JavaScript静态页面值传递之URL篇
  10. 阶段3 2.Spring_08.面向切面编程 AOP_8 spring中的环绕通知
  11. 机器学习入门——线性回归预测广告投入数据集
  12. 重言式判别 (数据结构课程设计)
  13. java字符串in.next_java中 nextString()怎么用
  14. 阿里云建站费用给大家看下速成美站、企业官网、营销建站价格表
  15. python爬取京东商品评价信息
  16. ios 简书 获取通讯录信息_ios 各种权限整理
  17. Linux kali系统使用fcrackzip/rarcrack破解zip/rar(或者zip 7z)类型的加密压缩文件
  18. dell服务器设置CPU高性能,DellR720服务器提示cpu1 internal error (IERR)
  19. 极大后验概率(MAP)- maximum a posteriori(转载)
  20. 车间生产管理(一)· 产线流程控制及产品质量追溯解决方案

热门文章

  1. android菜单和对话栏,Android回顾--(十一) 菜单和对话框
  2. 雨棚板弹性法计算简图_钢结构工程量计算4点注意事项,还不来看?
  3. access 战地1不加入ea_炒牛肉时,想要牛肉嫩滑又不老,只需加入1样东西,很多人都不懂...
  4. iphone查看删除的短信_手机资讯:iPhone手机可以批量删除短信吗如何操作
  5. 电子商务与计算机科学与技术的相关性,电子商务、计算机科学与技术、法学等相关专业。.doc...
  6. leetcode142. 环形链表 II(暴力+双链表)
  7. 7-2 银行家算法--申请资源 (30 分)
  8. [C++11]使用using和typedef给模板定义别名
  9. [Java网络编程基础]网络编程概述,三要素,IP地址
  10. C++string容器-字符存取