P4597-序列sequence【堆】

正题

题目链接:https://www.luogu.org/problemnew/show/P4597


题目大意

一个长度为nnn的序列,每次可以将一个数+1+1+1−1-11。要求

  1. 变成一个非降序列
  2. 出现的数之前都在原序列

解题思路

我们考虑一下贪心,由于变成一个非降序列,所以肯定越往下越优。

我们将数一个一个加入序列判断答案。

若我们现在最右边的为maxnmaxnmaxn,那么右端加入一个数valvalval时。

val≥maxnval\geq maxnvalmaxn就暂时不需要处理(因为这样也是非降的)

val&lt;maxnval&lt;maxnval<maxn时我们要寻找一个标准ccc。我们发现因为ccc可以是valvalval也可以是maxnmaxnmaxn所以ccc必定是在val∼maxnval\sim maxnvalmaxn之间,之后我们发现(c−val)+(maxn−c)=maxn−val(c-val)+(maxn-c)=maxn-val(cval)+(maxnc)=maxnval,所以我们让答案加上maxn−valmaxn-valmaxnval。然后怎么办???因为maxnmaxnmaxn最多降低到valvalval,但是如果降低到valvalval就可能会导致前面不再非降。那我们暂时定义maxnmaxnmaxnvalvalval升到除了maxnmaxnmaxn的最大的一个数maxn′maxn&#x27;maxn,但是如果下次有一个val′&lt;maxn′val&#x27;&lt;maxn&#x27;val<maxn时我们就改变这次降到的地方,使其降到val′val&#x27;valmaxn′maxn&#x27;maxn降到的地方。


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
priority_queue<int> q;
int n;
long long ans;
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++){int x;scanf("%d",&x);q.push(x);if(x<q.top()){ans+=q.top()-x;q.pop();q.push(x);}}printf("%lld",ans);
}

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

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

相关文章

Mybatis-Plus基本

Data AllArgsConstructor//全参构造 NoArgsConstructor//无参构造 Accessors(chain true)//链表模式 TableName("User")//映射数据表名 public class User implements Serializable {//序列化传输保证数据完整TableId(type IdType.UUID)//设定主键自增private Inte…

Sentinel(七)之网关限流

转载自 网关限流 Sentinel 支持对 Spring Cloud Gateway、Zuul 等主流的 API Gateway 进行限流。 Sentinel 1.6.0 引入了 Sentinel API Gateway Adapter Common 模块&#xff0c;此模块中包含网关限流的规则和自定义 API 的实体和管理逻辑&#xff1a; GatewayFlowRule&…

P1941-飞扬的小鸟【dp】

正题 题目链接:https://www.luogu.org/problemnew/show/P1941 题目大意 n∗mn*mn∗m的场地&#xff0c;一只鸟&#xff0c;在iii格点击一次升XiX_iXi​格(可以点击多次)&#xff0c;不点击掉YiY_iYi​格。不能落地&#xff0c;最高mmm格&#xff0c;然后不能撞到地图上的一些管…

C# 7编程模式与实践

C# 7是一个重大更新&#xff0c;其中提供了很多有意思的新功能。虽然已有大量的文章介绍这些功能可以做什么&#xff0c;但是鲜有文章介绍应如何使用这些功能。本文将过一遍《.NET设计规范&#xff1a;.NET约定惯用法与模式》&#xff08;译者注&#xff1a;英文书名为“Framew…

过来瞅瞅学学

当需要对Date时间类型进行加减int类型分钟运算 Date date new Date();//Sun Mar 06 14:12:14 CST 2022int hour 25;int minutes 70;int second 3;SimpleDateFormat simpleDateFormat new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println(simpleDat…

Sentinel(八)之熔断降级

转载自 熔断降级 概述 除了流量控制以外&#xff0c;对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。一个服务常常会调用别的模块&#xff0c;可能是另外的一个远程服务、数据库&#xff0c;或者第三方 API 等。例如&#xff0c;支付的时候&#xff0c…

P4719-[模板]动态DP【矩阵乘法,树链剖分,线段树】

正题 题目链接:https://www.luogu.org/problemnew/show/P4719\texttt{https://www.luogu.org/problemnew/show/P4719}https://www.luogu.org/problemnew/show/P4719 题目大意 每次修改一个点权&#xff0c;求最大权独立集。 解题思路 首先考虑普通dpdpdp&#xff0c;设fi,0/…

.net的retrofit--WebApiClient底层篇

前言本篇文章的内容是WebApiClient底层说明&#xff0c;也是WebApiClient系列接近尾声的一篇文章&#xff0c;如果你没有阅读过之前的的相关文章&#xff0c;可能会觉得本文章的内容断层库简介WebApiClient是开源在github上的一个httpClient客户端库&#xff0c;内部基于HttpCl…

悲观锁和乐观锁

悲观锁 悲观&#xff0c;则会假设情况总是最坏的&#xff0c;即共同维护的数据总会被其他线程修改&#xff0c;所以每次取数据的时候都会上锁&#xff0c;避免其他人修改。 synchronized 关键字的实现也是悲观锁。 悲观锁的缺点 在多线程竞争下&#xff0c;加锁、释放锁会导致…

Sentinel(九)之热点参数限流

转载自 热点参数限流 Overview 何为热点&#xff1f;热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据&#xff0c;并对其访问进行限制。比如&#xff1a; 商品 ID 为参数&#xff0c;统计一段时间内最常购买的商品 ID 并进行限制用户 …

jzoj3318-[BOI2013]Brunhilda的生日【数论】

正题 题目大意 序列aaa有mmm个质数。然后询问一个数nnn&#xff0c;每次可以使nn−n%ainn-n\%a_{i}nn−n%ai​ 求最少操作次数。 解题思路 首先我们设fif_ifi​表示由iii变为0的最少次数&#xff0c;然后有动态转移fimin{fi−i%aj}1f_imin\{f_{i-i\%a_j}\}1fi​min{fi−i%aj​…

【直播 】ASP.NET Core解密底层设计逻辑

.NET社区新闻&#xff0c;深度好文&#xff0c;欢迎访问公众号文章汇总 http://www.csharpkit.com

Sentinel(十)之系统自适应限流

转载自 系统自适应限流 Sentinel 系统自适应限流从整体维度对应用入口流量进行控制&#xff0c;结合应用的 Load、CPU 使用率、总体平均 RT、入口 QPS 和并发线程数等几个维度的监控指标&#xff0c;通过自适应的流控策略&#xff0c;让系统的入口流量和系统的负载达到一个平…

jzoj3319-[BOI2013]雪地踪迹【bfs】

正题 题目大意 一个n∗mn*mn∗m的雪地&#xff0c;有两种动物RRR和FFF会在雪地上留下RRR和FFF的脚印(只可以走到相邻格子&#xff0c;从(1,1)(1,1)(1,1)进入(n,m)(n,m)(n,m)出来&#xff0c;且会覆盖掉原先的脚印)。 求至少有多少只动物经过 解题思路 首先我们知道(1,1)(1,1…

如何ASP.NET Core Razor中处理Ajax请求

在ASP.NET Core Razor(以下简称Razor)刚出来的时候,看了一下官方的文档,一直没怎么用过。今天闲来无事,准备用Rozor做个项目熟练下,结果写第一个页面就卡住了。。折腾半天才搞好,下面给大家分享下解决方案。先来给大家简单介绍下RazorRazor Pages是ASP.NET Core的一项新功能&am…

Sentinel(十一)之黑白名单控制

转载自 黑白名单控制 很多时候&#xff0c;我们需要根据调用来源来判断该次请求是否允许放行&#xff0c;这时候可以使用 Sentinel 的来源访问控制&#xff08;黑白名单控制&#xff09;的功能。来源访问控制根据资源的请求来源&#xff08;origin&#xff09;限制资源是否通…

Loj2687,jzoj3320-文本编辑器【线头dp】

正题 题目链接:https://loj.ac/problem/2687 题目大意 三个操作: hhh光标向前移动一格xxx删除光标处字母fcf\ cf c移动到下一个字符ccc(算两次操作) 然后fff操作不能对字符eee使用&#xff0c;然后求最少操作次数删除所有的eee。 解题思路 线头dpdpdp。 设fi,jf_{i,j}fi,j​…

小白带你入坑xamarin系列之环境搭建和准备

序言&#xff1a;移动端的跨平台百花齐放&#xff0c;各种技术方案和方法都是层出不穷。目前xamarin确实是一套成熟可靠&#xff0c;完全值得信赖的开发框架。尤其是对传统做WPF ASP.NET的开发团队来说要节约成本开始移动端开发。这个是很好的一个选项。开始之前回答2个问题。1…

P3402-[模板]可持久化并查集【主席树】

正题 题目链接:https://www.luogu.org/problemnew/show/P3402 题目大意 合并x,yx,yx,y所在的两个集合回到操作kkk之后询问x,yx,yx,y是否在同一个集合 解题思路 正常的并查集&#xff0c;不使用路径压缩&#xff0c;但是使用按秩合并&#xff0c;将深度小的合并到深度大的上面…

Sentinel(十二)之实时监控

转载自 实时监控 Sentinel 提供对所有资源的实时监控。如果需要实时监控&#xff0c;客户端需引入以下依赖&#xff08;以 Maven 为例&#xff09;&#xff1a; <dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-transport-sim…