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

Codeforces Deque工艺

题目来源:

问题 - 2128B - Codeforces

这道题有些地方表达的并不是特别准确,首先就是从最左端与最右端移除一个元素,实际含义是从原数组的最左端或者最右段依次取出一个元素构成一个新的数组,使得这个新数组的数组符合题目的“好数组”要求。

既然如此,那么这道题就一目了然了,并且题目也说有多种答案输出其中一种就可以,那我们就使用最粗暴的方法,利用双指针依次对比左右两端的数据,切换着输出即可。

这里我们定义三个变量,r,l,k。r代表右端点的下标,l则是左端点的下标,k是计算有多少个元素被选中,方便结束循环与判断什么时候输出大的什么时候输出小的。

当k为偶数时,判断左端点右端点的大小,如果左端点更大就输出L,否则输出R,输出哪个端点的大写字母,那此时的小写字母就要变化,左端点就+1,右端点就-1。

当k为奇数时,同样判断左右端点大小,这次不同的是如果左端点更小输出L,这是为了保证不能连续增加或者连续减少,即使题目要求是连续5个递增或递减才是坏数组,比起计算有几个连续递增或者递减,还是直接一大一小来的方便,最多只有2个是连续的。其余思路与k为偶数时相同。

#include<bits/stdc++.h>
using namespace std;
int main()
{int t;cin>>t;while(t--){int n;cin>>n;vector<int>arr(n);for(int i=0;i<n;i++){cin>>arr[i];}int k=0,l=0,r=n-1;while(1){if(k==n){break;}if(k%2==0){if(arr[l]>arr[r]){cout<<"L";//cout<<arr[l];l++;}else{cout<<"R";//cout<<arr[r];r--;}}else{if(arr[l]<arr[r]){cout<<"L";//cout<<arr[l];l++;}else{cout<<"R";//cout<<arr[r];r--;}}k++;}cout<<endl;}return 0;
}

http://www.dtcms.com/a/333026.html

相关文章:

  • 用 FreeMarker 动态构造 SQL 实现数据透视分析
  • STM32学习笔记12-串口数据包收发FlyMcuST-LINK Utility
  • Shortest Routes II(Floyd最短路)
  • 管家婆辉煌系列试用版/期限说明
  • Shader开发(十三)理解片元插值
  • 淘米自动签到脚本
  • 大气负氧离子自动监测站:解密空气的科技密码
  • 有红帽认证证书可以0元置换华为openEuler-HCIA/HCIP认证
  • OpenSCA开源社区每日安全漏洞及投毒情报资讯|13th Aug. , 2025
  • MyBatis StatementHandler核心原理详解
  • Nginx反向代理Tomcat实战指南
  • mysql-DDLy语句案例
  • 基于asp.net#C##VUE框架的独居老人物资配送系统的设计与实现#sql server#visual studio
  • OpenZeppelin Contracts 架构分层分析
  • 基于机器学习的赌博网站识别系统设计与实现
  • 【计算机视觉与深度学习实战】02基于形态学的权重自适应图像去噪系统
  • 【车联网kafka】常用参数及其命令总结(第八篇)
  • 【展厅多媒体】数字展厅小知识:实物识别桌是什么?
  • 杂记 02
  • Java研学-SpringCloud(四)
  • YOLO12 改进、魔改|幅度感知线性注意力MALA,提升小目标、遮挡的检测能力
  • FDBus CBaseWork运行在当前线程
  • AKShare开源金融数据接口库 | 1、介绍
  • 驱动-总线bus注册流程分析
  • QT开发中QString如何截取字符串
  • 怎样使用数据度量测试
  • Leetcode SQL基础50题
  • 旋钮键盘项目---foc讲解(开环)
  • 转换一个python项目到moonbit,碰到报错输出:编译器对workflow.mbt文件中的类方法要求不一致的类型注解,导致无法正常编译
  • 如何将堡塔云WAF迁移到新的服务器