分析题意:

题意就是让前半段序列呈上升趋势,后半段呈下降趋势。

解题方法:

考虑差分出序列的高度。

xix_ixi​ 表示以 iii 为 kkk 的前半段需增加量。

yiy_iyi​ 表示以 i−1i-1i−1 为 kkk 的后半段需增加量。

从 222 开始枚举:

如果当前 did_idi​ 为负数,说明它比前一个小,为了满足前半段呈上升趋势,需要增加 xix_ixi​。

从最后开始枚举:

如果当前 did_idi​ 为正数,说明它比前一个大,为了满足后半段呈下降趋势,
给它前面的加,为了好统计,就加在它这里 yiy_iyi​ 增加。

注意:十年 OI 一场空,不开 long long 见祖宗!答案大小能开多大开多大!

附源码:

#include<bits/stdc++.h>
using namespace std;
const int maxn=200100;
long long n,sum=LONG_LONG_MAX-1,a[maxn],d[maxn],x[maxn],y[maxn];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
d[i]=a[i]-a[i-1];//求差分数组
}
for(int i=2;i<=n;i++){//从2枚举
x[i]=x[i-1];
if(d[i]<=0){//如果为负数或0
x[i]+=-d[i]+1; //x[i]增加
}
}
for(int i=n;i>0;i--){//从最后面枚举
y[i]=y[i+1];
if(d[i]>=0){//如果为整数或0
y[i]+=d[i]+1; //y[i]增加
}
}
for(int i=1;i<=n;i++){
sum=min(sum,max(x[i],y[i+1])); //最后答案取min(x[i],y[i+1])
}
cout<<sum;
return 0;
}

P7404题解的更多相关文章

  1. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  2. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  3. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

  4. Codeforces Round #353 (Div. 2) ABCDE 题解 python

    Problems     # Name     A Infinite Sequence standard input/output 1 s, 256 MB    x3509 B Restoring P ...

  5. 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解

    题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...

  6. 2016ACM青岛区域赛题解

    A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  7. poj1399 hoj1037 Direct Visibility 题解 (宽搜)

    http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...

  8. 网络流n题 题解

    学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...

  9. CF100965C题解..

    求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...

  10. JSOI2016R3 瞎BB题解

    题意请看absi大爷的blog http://absi2011.is-programmer.com/posts/200920.html http://absi2011.is-programmer.co ...

随机推荐

  1. 简单聊一下*SWITCH*交换机的作用

    交换机 交换机工作在数据链路层的物理设备或者说是接入层的物理设备,转发数据帧. 随着企业网络的发展,越来越多的用户需要接入到网络,交换机提供的大量的接入端口能够很好地满足这种需求.同时,交换机也彻底解 ...

  2. 从理房间到移动零:一道考察数组操作的经典题目|LeetCode 283 移动零

    LeetCode 283 移动零 点此看全部题解 LeetCode必刷100题:一份来自面试官的算法地图(题解持续更新中) 生活中的算法 你有没有整理过房间?常常会发现一些要丢掉的东西,但又不想立刻处 ...

  3. 云主机CPU和内存配比:优化资源分配的关键

    本文分享自天翼云开发者社区<云主机CPU和内存配比:优化资源分配的关键>,作者:每日知识小分享 随着云计算技术的快速发展,云主机已经成为了许多企业和个人用户首-选的计算解决方案.在部署和配 ...

  4. DeepSeek+PageAssist实现本地大模型联网

    技术背景 在前面的几篇博客中,我们分别介绍过在Ubuntu上部署DeepSeek.在Windows上部署DeepSeek.使用AnythingLLM构建本地知识库的方法,其中还包含了ChatBox的基 ...

  5. RFID基础——ISO15693标签存储结构及访问控制命令说明

    ISO15693协议标准的高频RFID无源IC卡,具有高度防冲突与长距离运作等优点,主要应用与资产管理.图书馆管理.供应链管理.医疗领域.开发基于 ISO15693 的应用首先需要了解标签的存储结构以 ...

  6. 泰山派(Linux)播放音乐

    泰山派(Linux)录音/播放音乐 alsamixer ​ 声卡: ​ 播放:play(较详细),aplay 录音:arecord ​ 麦克风可用: Main_mic可用 录音(wav/mp3) ar ...

  7. captura怎样解决FFmpeg解析错误问题

    captura怎样解决FFmpeg解析错误问题?captura软件里大家在进行屏幕录制的工作得时候都会用到captura软件,软件得功能可以满足大家的需求,可以轻松的录制屏幕,进行屏幕截屏等,但是又小 ...

  8. MyBatis mapper.xml中SQL处理小于号与大于号 和小于等于号

    这种问题在xml处理sql的程序中经常需要我们来进行特殊处理. 其实很简单,我们只需作如下替换即可避免上述的错误: < <= > >= & ' " < ...

  9. Qt 枚举类型 值、字符串、枚举类型互转

    枚举类型 class Enum : public QObject{ Q_OBJECT public: enum Fruit{ APPLE = 0, BANANA, POTATO } Q_ENUM(Fr ...

  10. flutter - [01] Dart概述

    题记部分 一.什么是dart dart是由谷歌开发的计算机编程语言,可以被用于web.服务器.移动应用和物联网等领域的开发 dart诞生于2011年,号称要取代JavaScript.但是过去的几年中一 ...