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

【每日一题】—— C. Challenging Cliffs(Codeforces Round 726 (Div. 2))

🌏博客主页:PH_modest的博客主页
🚩当前专栏:每日一题
💌其他专栏:
🔴 每日反刍
🟡 C++跬步积累
🟢 C语言跬步积累
🌈座右铭:广积粮,缓称王!

一.题目描述

在这里插入图片描述

题目大意:

在这里插入图片描述

题目链接:

C. Challenging Cliffs(Codeforces Round 726 (Div. 2))

二.思路分析

  1. 首先将给的数排序
  2. 然后找相邻两数绝对值最小的两个数(将他们的下标记为l和r),这两个数肯定是放在头和尾,因为题目要求是第一个和最后一个山峰绝对值最小
  3. 之后就剩下l前面的数和r后面的数了,这两组数都是已经排好序的(将前面一组记为P,后一组记为Q),也就是说他们都是困难程度最大的情况
  4. 接下来就面临两种选择,先放P后放Q,先放Q后放P,大部分人都觉得先放P后放Q更好,真的是这样的吗?
    在这里插入图片描述
    在这里插入图片描述
    第二张图应该可以较为清楚的解释为什么这样较好,这里就不过多赘述了。

三.代码展示

#include<iostream>
#include<map>
#include<algorithm>
#include<cmath>#define int long longusing namespace std;int s[200020];void solve()
{int n;cin>>n;for(int i=0;i<n;i++){cin>>s[i];}sort(s,s+n);int l=0,r=l+1;int mins=1e9;for(int i=0;i<n-1;i++){if(s[i+1]-s[i]<mins){mins=s[i+1]-s[i];l=i;r=i+1;}}cout<<s[l]<<" ";for(int i=r+1;i<n;i++){cout<<s[i]<<" ";}for(int i=0;i<l;i++){cout<<s[i]<<" ";}cout<<s[r]<<"\n";
}signed main()
{int t;cin>>t;while(t--){solve();}return 0;
}

最后:

每日一题系列旨在养成刷题的习惯,所以对代码的解释并不会特别详细,但足够引导大家写出来,选的题目都不会特别难,但也不是特别简单,比较考验大家的基础和应用能力,我希望能够将这个系列一直写下去,也希望大家能够和我一起坚持每天写代码。

之后每个星期都会不定期更新codeforces和atcoder上的题目,想要学习算法的友友们千万别错过了,有什么疑问欢迎大家在评论区留言或者私信博主!

在这里送大家一句话:广积粮,缓称王!

http://www.lryc.cn/news/112949.html

相关文章:

  • 想在金融界拥有一席之地吗—社科院杜兰大学金融管理硕士助你圆梦
  • Moonbeam与Nodle网络集成,增添物联网功能
  • 关于docker 在ubuntu16.04 上的安装
  • Cmder启动加速
  • 【windows】windows上如何使用linux命令?
  • Docker Compose: 集合管理Docker的工具安装
  • Jmeter(三) - 从入门到精通 - 测试计划(Test Plan)的元件(详解教程)
  • 20天学会rust(一)和rust say hi
  • 嵌入式传感器将是未来智能交通发展的关键
  • Vue3 实现产品图片放大器
  • 机器学习笔记 - 使用 YOLOv5、O​​penCV、Python 和 C++ 检测物体
  • 使用手机相机检测电脑屏幕刷新率Hz
  • 修改k8s pod的挂载目录
  • Vue3+SpringBoot快速开发模板
  • CSDN竞赛68期
  • Redis入门
  • [CrackMe]BuLLeT.exe的逆向及注册机编写
  • C++ 中 int、short、long和long long 分别是几位?有符号无符号有什么区别?
  • Killing LeetCode [82] 删除排序链表中的重复元素 II
  • LeetCode 热题 100 JavaScript--283. 移动零
  • java读写ini文件
  • 【ARM Coresight 系列文章 2.3 - Coresight 寄存器】
  • kafka:java client使用总结塈seek() VS commitSync()的区别(三)
  • 如何用正确的姿势监听Android屏幕旋转
  • mysql高级三:sql性能优化+索引优化+慢查询日志
  • HCIP VLAN--Hybrid接口
  • 大数据开发面试必问:Hive调优技巧系列二
  • 【C++】STL——list的模拟实现、构造函数、迭代器类的实现、运算符重载、增删查改
  • vscode 插件::EIDE
  • Python 网络编程