您当前的位置: 首页 > 

*DDL_GzmBlog

暂无认证

  • 3浏览

    0关注

    605博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

[cf] D. Backspace 双指针+逆向思维 *1500

*DDL_GzmBlog 发布时间:2021-10-20 13:04:15 ,浏览量:3

前言

常见题型罢了!!! 传送门 :

题意

给你一个主串 S S S 和一个目的串 T T T 问是否可以 让 S S S通过操作获得 T T T

操作如下: " a b c d e f " "abcdef" "abcdef" 让 c c c变成退格键 得 " a b { b a c k s p a c e } d e f " "ab \{backspace\}def" "ab{backspace}def" 即 " a d e f " "adef" "adef"

思路

因为这个操作 是后面的影响前面的 因此我们可以考虑从后处理, 因为如果我们处理前面的话,后面会有剩余导致不好处理

如果我们从后面处理的话 ,如果遇到不相同的,那么一定是这个和它前面的是必删的,因为这个无法被后面的删除,只能让自己变成退格键

因此我们可以使用双指针 : i 指 向 s 的 末 尾 j 指 向 t 的 末 尾 i指向s的末尾 j指向t的末尾 i指向s的末尾j指向t的末尾

  • 如果 s [ i ] = s [ j ] , i − − , j − − s[i]=s[j] ,i--,j-- s[i]=s[j],i−−,j−−
  • 如果 s [ i ] ! = s [ j ] , i − − , i − − s[i]!=s[j],i--,i-- s[i]!=s[j],i−−,i−−
CODE
 #include 
using namespace std;
#define ll long long
#define endl '\n'
const int N  = 10;

void cal()
{

}
void solve()
{
    string s,t;
    cin>>s>>t;

    bool flag = false;
    int n = s.size();
    int m = t.size();

    if(n            
关注
打赏
1657615554
查看更多评论
0.0419s