当前位置: 首页 > news >正文

P4597 序列 sequence题解

P4597 序列 sequence

给定一个数列,每次操作可以使任意一个数+1或-1,求小的操作次数,使得数列变成不降数列.

1.对于前面比当前位的数字大的数,设最大数为 xxx ,当前的数为 yyy ,则对于 xxxyyy 中间的任意数,两数的转移贡献都是一致的,那么对于后面的贡献,一定是将最大数变成当前的数更好,当然其课调整性,只要后面的数不小于 yyy ,那么我们就可以在一定的限度内对两数进行调整,使得满足后面序列的安排。

2.对于当前的最大值,要么是把当前值换成最大值,要么是将最大值换成当前值,如果最大值比较多的话,那么就是将当前值换成最大值,但无论怎么样,对结果的贡献都是一致的,且也具有返回贪心的特点
代码如下:

#include<iostream>
#include<algorithm>
#include<cmath>
#include<queue>
#include<cstring>
using namespace std;
#define int long long
#define MAXN 10000010
#define ios ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
int a[MAXN];
priority_queue<int> q;
signed main(){ios;int n;cin>>n;for(int i=1;i<=n;i++)cin>>a[i];int ans=0;for(int i=1;i<=n;i++){q.push(a[i]);if(a[i]<q.top()){ans+=q.top()-a[i];q.pop();q.push(a[i]);}}cout<<ans;return 0;
}
http://www.xdnf.cn/news/1105795.html

相关文章:

  • 跟着Carl学算法--二叉树【3】
  • 猿人学js逆向比赛第一届第十九题
  • 【每日算法】专题八_分治_归并排序
  • RLHF:人类反馈强化学习 | 对齐AI与人类价值观的核心引擎
  • Windows解决 ping 127.0.0.1 一般故障问题
  • 阿里云服务器,CentOS7.9上安装YApi 接口管理平台
  • Redis概念和基础
  • AI基建还能投多久?高盛:2-3年不是问题,回报窗口才刚开启
  • 学习C++、QT---21(QT中QFile库的QFile读取文件、写入文件的讲解)
  • MySQL内置函数(8)
  • Windows删除文件或者拔出U盘显示正在使用/占用解决办法
  • 必备软件推荐:1、Everything:Windows 文件查找的终极利器
  • CSS和CSS3区别对比
  • [面试] 手写题-插入排序
  • 网络安全第一次作业
  • 史上最详细Java并发多线程(面试必备,一篇足矣)
  • 视频翻译用什么软件?这里有5个高效推荐
  • 论迹不论心
  • 【天坑记录】cursor jsx文件保存时错误格式化了
  • 并发编程
  • C#元组:从基础到实战的全方位解析
  • 【C++类】
  • 速盾:高防CDN和普通CDN的区别大吗?
  • 【MySQL】———— 索引
  • 数据分析师如何构建自己的底层逻辑?
  • 12. 说一下 https 的加密过程
  • c++26新功能—copyable_function
  • 慕尚花坊项目笔记
  • MoE混合专家模型:千亿参数的高效推理引擎与架构革命
  • 论容器化 | 分析Go和Rust做医疗的后端服务