cf1553D. Backspace

题意:

有一个字符串A,现在将其一个一个输入至B中,在输入一个字符时,如果按下backspace,那么这个字符不会被键入,而且如果B不为空,则前一位(B.back)也会被删除,现给出一个字符串C,问能否得到一个B,使得B=C

题解:

为了通过a得到b,我们有可能需要去除a串的某段前缀,然后模拟余下部分得到b
枚举每种删除前缀的情况是很麻烦的。
那我们可以考虑将a和b反转进行考虑,反转后操作就变成1:输入当前字符 2:不输入当前字符和下一个字符
这样做,如果我们去执行操作2,去除了a的一段后缀,而a被反转过,相当于去除原本a的一段前缀。这样就解决了删除前缀很麻烦的事

代码:

// Problem: D. Backspace
// Contest: Codeforces - Harbour.Space Scholarship Contest 2021-2022 (open for everyone, rated, Div. 1 + Div. 2)
// URL: https://codeforces.com/contest/1553/problem/D
// Memory Limit: 256 MB
// Time Limit: 2000 ms
// Data:2021-08-10 12:42:38#include<bits/stdc++.h>
#define debug(a,b) printf("%s = %d\n",a,b);
using namespace std;
typedef long long ll;
typedef pair<int, int> PII;
clock_t startTime, endTime;
//Fe~Jozky
const ll INF_ll=1e18;
const int INF_int=0x3f3f3f3f;
inline ll read(){ll s=0,w=1ll;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1ll;ch=getchar();}while(ch>='0'&&ch<='9') s=s*10ll+((ch-'0')*1ll),ch=getchar();//s=(s<<3)+(s<<1)+(ch^48);return s*w;
}
void rd_test(){#ifdef ONLINE_JUDGE#elsestartTime = clock(); freopen("in.txt","r",stdin);#endif
}
void Time_test(){#ifdef ONLINE_JUDGE#elseendTime = clock(); printf("\nRun Time:%lfs\n",(double)(endTime - startTime) / CLOCKS_PER_SEC);#endif
}
int main()
{//rd_test();int t;cin>>t;while(t--){string a,b;cin>>a>>b;reverse(a.begin(),a.end());reverse(b.begin(),b.end());int pos=0;bool f=0;for(auto op:a){if(f){f=0;continue;}if(op==b[pos])pos++;else f=1;if(pos==b.size())break;}if(pos==b.size())puts("YES");else puts("NO");}//Time_test();
}

cf1553D. Backspace相关推荐

  1. SecureCRT中sqlplus,使用Backspace删除时 ^H^H

    在"Session Options" - "Terminal" - "Mapped Keys" - "Other mappings ...

  2. 解决 Python shell 中 Delete/Backspace 键乱码问题

    简述 进入 Python shell,按下 Delete/Backspace 键,会出现 ^H 字符.命令输入错误后只能从头开始,无法删除,让人很头疼.为了便于后期使用,分享一个一劳永逸的方式. 基本 ...

  3. Linux使用退格键(Backspace键)时出现^H 解决方法

    在linux下执行脚本不注意输错内容需要删除时总是出现^H ^H不是H键的意思,是backspace键.主要是当你的终端backspace有问题的时候才需要设置. 在bash下执行 stty eras ...

  4. vi 方向键和Backspace键失效问题的解决方法

    安装的ubuntu默认的编辑器是vi,遇到了两个问题: ① insert模式下,按方向键将产生A.B.C.D等字符,解决方案: :set nocompatible ② insert模式下Backspa ...

  5. 如何避免在IE内核时,按BackSpace时进行网页会进行回退

    //解决在IE浏览器中input被设置成readonly时,点击Backspace时会出现网页回退 document.onkeydown = check; function check(e) { va ...

  6. 删除web文本框中的内容需要或者文本框失去焦点,点击“Backspace”键时页面回退,屏蔽页面回退键的方法

    问题:web文本框中的内容需要删除或者文本框失去焦点,点击"Backspace"键时,页面就回退了,下面是一种屏蔽页面回退键的方法. 原因:当文本输入框设置为只读时,按后退键默认都 ...

  7. vi插入模式下的backspace键和方向键“不正常”使用解决方法

    在新装的ubuntu系统使用vi编辑器编辑文本时,会出现退格键(backspace)和上下左右方向键不好用情况,例如退格键不能删除前面的字母,方向键不能移动光标(在命令模式下可以用h.j. k. l键 ...

  8. 使用XMANAGER 联接LINUX 后使用SQLPLUS 不能使用BACKSPACE 回格键.

    使用XMANAGER 联接LINUX 后使用SQLPLUS 不能使用BACKSPACE 回格键.总是出来:^H 而使用TELNET 没有这情况发生.郁闷了好长一段时间,总是以为是XMANAGER 的原 ...

  9. 在 Msys pacman安装vim后遇到的abcd与backspace问题..

    2019独角兽企业重金招聘Python工程师标准>>> 这里就不聊 abcd 与 backspace 什么情况了,直接分享解决办法: 1. 在/home/Administrator ...

最新文章

  1. 字符串匹配算法 KMP
  2. android studio 顶部导航栏_Android10 手势导航开发与处理:边到边(I)
  3. vi命令,印在杯子上,还是印在脑子里。
  4. 关闭串口_USART串口通信,DMA方式,一分钟从入门到大师
  5. oracle发送邮件
  6. 工作289:js取整
  7. Vue使用nextTick的原因和作用
  8. (转)Ubuntu10.04编译FFmpeg
  9. concurrenthashmap_ConcurrentHashMap核心原理,这次彻底给整明白了
  10. 电子书下载:C# 语言规范 3.0 , 4.0 中文版
  11. 深度学习 | MATLAB卷积神经网络原理描述
  12. 计算机恢复数据怎么恢复,电脑数据恢复,详细教您电脑数据如何恢复
  13. Axure RP使用攻略--入门级(一)
  14. arduinouno的地是相连的吗_垫圈锁紧,靠谱吗?
  15. 数据挖掘之大数据流处理
  16. web.xml.jsf_JSF 2.0 Ajax世界中的GMaps4JSF
  17. fedora 16 安装firefox flash插件
  18. 计算机科学技术学院迎新晚会主题,我校计算机科学与技术学院举行迎新晚会
  19. password unchanged Authentication token manipulation error
  20. 单链表的简单操作与演示

热门文章

  1. 难以摸透的直男脑回路......
  2. 老师:你根本不知道我有多想逃课
  3. java 中时间计算_java中关于时间的计算
  4. mysql tdh_socket_thread_num_TDH_Socket的一些性能对比数据
  5. python 数据驱动接口自动化框架_python接口自动化测试 - 数据驱动DDT模块的简单使用...
  6. 二面京东,面试官直接问我JVM,我心里一阵暗爽~
  7. php父子遍历,php无限分类父子追溯方法
  8. linux 7.0查看防火墙状态,centos7查看防火墙状态
  9. 参加计算机竞赛需要学什么知识,数学和计算机专业,我应该参加那些比赛?
  10. springboot 历史版本文档_Springboot看视频学太慢?来看看这份阿里深入实践Springboot文档...