Acwing128. 编辑器

news/2024/10/28 20:20:38/

题目链接:128. 编辑器 - AcWing题库

标签:堆顶栈

思路:分别用两个栈,记录光标左边的数和光标右边的数;用s记录前缀和,f记录最大前缀。

对题目所示五个操作有:

1.插入操作:将x插入到L栈中。

2.删除操作:删除L栈的顶部元素。

3.光标左移:将L栈的顶部元素push到R栈

4.光标右移:将R栈的顶部元素push到L栈

5.查询操作:输出f[k]

对于前k个数的最大前缀,可能等于前k-1个数的最大前缀 或者 前k个数的和

即:f[k]=max(f[k-1],s[k])

注意:注意空栈!

代码:

#include<iostream>
#include<stack>
#include<cstring>
using namespace std;const int N = 1000010;int n,x;
char op;
int s[N],f[N];
int l[N],r[N],len1,len2;int main()
{memset(f,-0X3f,sizeof f);cin>>n;for(int i=1;i<=n;i++) {cin>>op;if(op=='I'){cin>>x;l[++len1]=x;s[len1]=s[len1-1]+x;f[len1]=max(f[len1-1],s[len1]);}else if(op=='D'){if(len1>0) len1--;}else if(op=='L'){if(len1>0){x = l[len1];len1--;r[++len2]=x;}}else if(op=='R'){if(len2>0){x = r[len2];len2--;l[++len1]=x;s[len1]=s[len1-1]+x;f[len1]=max(f[len1-1],s[len1]);}}else if(op=='Q'){cin>>x;cout<<f[x]<<endl;}}return 0;
}


http://www.ppmy.cn/news/597908.html

相关文章

模板匹配Template Matching

实现代码&#xff1a; import cv2 import numpy as np def template_demo(tpl,target):methods[cv2.TM_SQDIFF_NORMED,cv2.TM_CCORR_NORMED,cv2.TM_CCOEFF_NORMED]th,twtpl.shape[:2]for md in methods:start_timecv2.getTickCount()# 匹配结果resultcv2.matchTemplate(target…

行列转换(一)• MySQL版

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 本文收录于SQL应知应会专栏,本专栏主要用于记录对于数据库的一些学习&#xff0c;有基础也有进阶&#xff0c;有MySQL也有Oracle 行列转换 • Mysql版 1.准备操作2.行转列1.1为何进…

Cartographer自定义lua参数的方法

Cartographer中, 配置参数大多数都是从lua文件中得到的, 不是像其他的开源框架大多使用xml等文件进行参数配置. 假如我们要配置一个名字是rotation_condition的配置参数在pose_graph_2d.cc中, 想要使用方法为 options_.translation_condition()配置步骤如下: 1. 修改proto文件…

Edge浏览器可以多开吗?

问答链接&#xff1a;Edge浏览器可以多开吗&#xff1f; 可以。 如果你的edge浏览器是默认路径安装的&#xff0c;那么打开命令提示符窗口输入以下两条命令即可启动一个数据完全隔离的edge浏览器。 mkdir C:\logs001 "C:\Program Files (x86)\Microsoft\Edge\Applicati…

23种设计模式的简单理解

23种设计模式的设计原则为&#xff1a; 1、开闭原则 2、单一职责原则 3、依赖倒置原则 4、里氏替换原则 5、迪米特原则&#xff08;最小知道原则&#xff09; 6、组合复用原则 23种设计模式可分为三种大的类型 一、创建型…

计算机应用大专生简历,计算机应用大专生简历范文

以下是无忧考网为大家整理的关于计算机应用大专生简历范文的文章&#xff0c;希望大家能够喜欢&#xff01; 基本资料 姓  名&#xff1a; 林女士 性  别&#xff1a; 女 民  族&#xff1a; 汉族 出生日期&#xff1a; 1988年08月20日 户  口&#xff1a; 安徽省 学 …

大专生计算机水平个人简历,2011计算机大专生简历范文

姓  名&#xff1a; 林女士 性  别&#xff1a; 女 民  族&#xff1a; 汉族 出生日期&#xff1a; 1988年08月20日 户  口&#xff1a; 安徽省 学  历&#xff1a; 大专 技术职称&#xff1a; 高级 毕业院校&#xff1a; 安庆职业技术学院 所学专业&#xff1a; 计算…

MySQL笔记详解

MySQL – 2021 文章目录 MySQL[toc]1.介绍1.1 mysql的特点1.2 SQL语言的组成1.3 非关系型数据库 2. 数据库操作2.1 数据库的常用操作(DDL)2.2 数据库表的操作(DDL)2.3 数据库的基本操作(DML)2.3.1 数据插入&#xff1a;insert2.3.2 数据修改&#xff1a;update2.3.3 数据删除&…