牛客网链接

时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format:
%lld

题目描述

月月和华华一起去吃饭了。期间华华有事出去了一会儿,没有带手机。月月出于人类最单纯的好奇心,打开了华华的手机。哇,她看到了一片的QQ推荐好友,似乎华华还没有浏览过。月月顿时醋意大发,出于对好朋友的关心,为了避免华华浪费太多时间和其他网友聊天,她要删掉一些推荐好友。但是为了不让华华发现,产生猜疑,破坏了他们的友情,月月决定只删华华有可能搭讪的推荐好友。
月月熟知华华搭讪的规则。华华想与某个小姐姐搭讪,当且仅当小姐姐的昵称是他的昵称的子序列。为了方便,华华和小姐姐的昵称只由小写字母构成。为了更加方便,保证小姐姐的昵称长度不会比华华的长。
现在月月要快速的判断出哪些推荐好友要删掉,因为华华快回来了,时间紧迫,月月有点手忙脚乱,所以你赶紧写个程序帮帮她吧!

输入描述:

第一行输入一个字符串A表示华华的昵称。 第二行输入一个正整数N表示华华的推荐好友的个数。
接下来N行,每行输入一个字符串BiB_iBi​表示某个推荐好友的昵称。

输出描述:

输出N行,对于第i个推荐好友,如果华华可能向她搭讪,输出Yes,否则输出No。 注意大写,同时也要注意输出效率对算法效率的影响。

示例1
输入

noiauwfaurainairtqltqlmomomo
8
rain
air
tql
ntt
xiaobai
oiiiooo
orzcnzcnznb
ooooo

输出

Yes
Yes
Yes
Yes
No
Yes
No
No

备注:

题解:
字符串问题
有两个解决方法,字典树和序列自动机都能做(我想到的)
这里就不讲字典树了
序列自动机:
序列自动机就是用一个数组next[i][j]来记录数组a第i位的字符j在i后第一次出现的坐标。
设串长为n,字符集大小为a,预处理时间复杂度为O(n*a)
序列自动机讲解

for(int i=n;i;i--)
{for(int j=1;j<=a;j++) next[i-1][j]=next[i][j];next[i-1][s[i]]=i;
}

代码:

#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
#define forr(n) for(int i=1;i<=n;i++)
#define fore(n) for(int j=1;j<=n;j++)
using namespace std;
const int ma=1000004;
char a[ma];
int len;
int w=0;
int m;
bool f=1;
int next[ma][30];
int main()
{cin>>(a+1);int len=strlen(a+1);for(int i=len;i>=1;i--){for(int j=0;j<=25;j++) next[i-1][j]=next[i][j];next[i-1][a[i]-'a']=i;}cin>>m;char ch=getchar();forr(m){cin>>(a+1);len=strlen(a+1);w=0;f=1;fore(len){w=next[w][a[j]-'a'];if(w==0){f=0;cout<<"N0"<<endl;break;}}if(f!=0)cout<<"Yes"<<endl;}return 0;
}

牛客网【每日一题】4月2日 月月查华华的手机相关推荐

  1. 牛客网 每日一题 7月23日题目精讲—wpy的请求

    来源:牛客网: 文章目录 wpy的请求 题解: 代码: wpy的请求 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K Special Judge ...

  2. 2021-09-02牛客网每日10题--前端

    3 ng-class是做什么用的? 给元素绑定类名 eg:用法①: // An highlighted block <div ng-class="{'A':isA,'B':isB,'C ...

  3. 牛客网SQL刷题笔记(MySQL)

    牛客网SQL刷题笔记(MySQL) 此博客集合LeetCode.牛客网常见的题型及其解法,侵删 目录 牛客网SQL刷题笔记(MySQL) 类型1:查找排名第几的数据 SQL2 查找入职员工时间排名倒数 ...

  4. 牛客网Java刷题知识点之关键字static、static成员变量、static成员方法、static代码块和static内部类...

    不多说,直接上干货! 牛客网Java刷题知识点之关键字static static代表着什么 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个"伪全局"的概 ...

  5. 牛客网Java刷题知识点之构造函数可以调用一般函数,但是一般函数不可以直接调用构造函数...

    不多说,直接上干货! 通过 牛客网Java刷题知识点之构造函数是什么.一般函数和构造函数什么区别呢.构造函数的重载.构造函数的内存图解 我们对构造函数有了一个比较清楚的认识,当我们在创建对象时,我们会 ...

  6. 牛客网Java刷题知识点之Java 集合框架的构成、集合框架中的迭代器Iterator、集合框架中的集合接口Collection(List和Set)、集合框架中的Map集合...

    不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素. ...

  7. 牛客网Java刷题知识点之ArrayList 、LinkedList 、Vector 的底层实现和区别

    不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...

  8. 牛客网Veirlog刷题答案目录(持续更新)

    牛客网Veirlog刷题答案目录(持续更新) 基础篇 进阶篇 基础篇 1.VL1--四选一多路选择器 2.VL2--异步复位的串联T触发器 3.VL3--奇偶校验 4.VL4--移位运算与乘法 5.V ...

  9. 牛客网刷算法题的输入输出(C++)

    内容简述 该篇文章将对牛客网刷题中关于输入输出的一些问题作一个总结.每年互联网公司的招聘都必不可少会有算法题,因此平时很多人都会去一些刷题网站进行刷题来学习.这里面用的比较多的刷题网站是leetcod ...

  10. 【百日冲大厂】第十篇,牛客网选择题+编程题井字棋+密码强度等级

    前言: 大家好,我是良辰丫,刷题的第十篇,牛客网选择题+编程题井字棋+密码强度等级.

最新文章

  1. 什么是OKR?目标管理如何做?
  2. angular4创建html,Angular 4 Http服务
  3. OpenCASCADE:Modeling Data之二维几何
  4. JMeter 保持sessionId
  5. C#/.Net操作MongoDBHelper类
  6. 利用ado.net和winform连接ms Server可以做什么?
  7. 织梦php echo 调用金币,dedecms实现任意页面调用当前会员信息的方法
  8. 手机端html使用地理定位,html5之使用地理定位
  9. (97)Verilog HDL:秒灯设计
  10. Linux下一块网卡设置多个IP地址
  11. THINKPHP_关联模型MANY_TO_MANY
  12. 主成分分析结果成分不显著_spss主成分分析结果解读
  13. emlog插件,emlog采集插件,emlog伪原创发布插件
  14. 计算机的内存大小有何作用,电脑内存用处有多大?你可能想不到!
  15. JAVA Netty实现聊天室+私聊功能
  16. python调用oracle
  17. C语言中的语法错误和语义错误
  18. 最新idm6.43下载器2023中文特别版怎么使用?真可以速度提升500%?
  19. vue 输入框限制中英文及数字
  20. 黑夜给了我黑色的眼睛,我却用它研究CV【36kr报道】

热门文章

  1. 一起读懂传说中的经典:受限玻尔兹曼机
  2. 桩筏有限元中的弹性板计算_永清县打桩机租赁钢板桩租赁怎么联系?
  3. java 线程 获取消息_获取java线程中信息
  4. mysql 卸载插件_MySQL 插件安装或卸载(window validate_password 为例)
  5. mysql的查表语句_mysql查表语句_MySQL
  6. jenkins java反序列化_Jenkins “Java 反序列化”过程远程命令执行漏洞
  7. python如何安装扩展库openpyxl和numpy_Python第三方库之openpyxl(2)
  8. html盒模型向上浮动,HTML5盒模型、浮动和定位
  9. mysql内连接查询原理_MySQL全面瓦解12:连接查询的原理和应用
  10. [Java基础]LinkedHashSet集合概述和特点