牛客网【每日一题】4月2日 月月查华华的手机
牛客网链接
时间限制: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日 月月查华华的手机相关推荐
- 牛客网 每日一题 7月23日题目精讲—wpy的请求
来源:牛客网: 文章目录 wpy的请求 题解: 代码: wpy的请求 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K Special Judge ...
- 2021-09-02牛客网每日10题--前端
3 ng-class是做什么用的? 给元素绑定类名 eg:用法①: // An highlighted block <div ng-class="{'A':isA,'B':isB,'C ...
- 牛客网SQL刷题笔记(MySQL)
牛客网SQL刷题笔记(MySQL) 此博客集合LeetCode.牛客网常见的题型及其解法,侵删 目录 牛客网SQL刷题笔记(MySQL) 类型1:查找排名第几的数据 SQL2 查找入职员工时间排名倒数 ...
- 牛客网Java刷题知识点之关键字static、static成员变量、static成员方法、static代码块和static内部类...
不多说,直接上干货! 牛客网Java刷题知识点之关键字static static代表着什么 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个"伪全局"的概 ...
- 牛客网Java刷题知识点之构造函数可以调用一般函数,但是一般函数不可以直接调用构造函数...
不多说,直接上干货! 通过 牛客网Java刷题知识点之构造函数是什么.一般函数和构造函数什么区别呢.构造函数的重载.构造函数的内存图解 我们对构造函数有了一个比较清楚的认识,当我们在创建对象时,我们会 ...
- 牛客网Java刷题知识点之Java 集合框架的构成、集合框架中的迭代器Iterator、集合框架中的集合接口Collection(List和Set)、集合框架中的Map集合...
不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素. ...
- 牛客网Java刷题知识点之ArrayList 、LinkedList 、Vector 的底层实现和区别
不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...
- 牛客网Veirlog刷题答案目录(持续更新)
牛客网Veirlog刷题答案目录(持续更新) 基础篇 进阶篇 基础篇 1.VL1--四选一多路选择器 2.VL2--异步复位的串联T触发器 3.VL3--奇偶校验 4.VL4--移位运算与乘法 5.V ...
- 牛客网刷算法题的输入输出(C++)
内容简述 该篇文章将对牛客网刷题中关于输入输出的一些问题作一个总结.每年互联网公司的招聘都必不可少会有算法题,因此平时很多人都会去一些刷题网站进行刷题来学习.这里面用的比较多的刷题网站是leetcod ...
- 【百日冲大厂】第十篇,牛客网选择题+编程题井字棋+密码强度等级
前言: 大家好,我是良辰丫,刷题的第十篇,牛客网选择题+编程题井字棋+密码强度等级.
最新文章
- 什么是OKR?目标管理如何做?
- angular4创建html,Angular 4 Http服务
- OpenCASCADE:Modeling Data之二维几何
- JMeter 保持sessionId
- C#/.Net操作MongoDBHelper类
- 利用ado.net和winform连接ms Server可以做什么?
- 织梦php echo 调用金币,dedecms实现任意页面调用当前会员信息的方法
- 手机端html使用地理定位,html5之使用地理定位
- (97)Verilog HDL:秒灯设计
- Linux下一块网卡设置多个IP地址
- THINKPHP_关联模型MANY_TO_MANY
- 主成分分析结果成分不显著_spss主成分分析结果解读
- emlog插件,emlog采集插件,emlog伪原创发布插件
- 计算机的内存大小有何作用,电脑内存用处有多大?你可能想不到!
- JAVA Netty实现聊天室+私聊功能
- python调用oracle
- C语言中的语法错误和语义错误
- 最新idm6.43下载器2023中文特别版怎么使用?真可以速度提升500%?
- vue 输入框限制中英文及数字
- 黑夜给了我黑色的眼睛,我却用它研究CV【36kr报道】
热门文章
- 一起读懂传说中的经典:受限玻尔兹曼机
- 桩筏有限元中的弹性板计算_永清县打桩机租赁钢板桩租赁怎么联系?
- java 线程 获取消息_获取java线程中信息
- mysql 卸载插件_MySQL 插件安装或卸载(window validate_password 为例)
- mysql的查表语句_mysql查表语句_MySQL
- jenkins java反序列化_Jenkins “Java 反序列化”过程远程命令执行漏洞
- python如何安装扩展库openpyxl和numpy_Python第三方库之openpyxl(2)
- html盒模型向上浮动,HTML5盒模型、浮动和定位
- mysql内连接查询原理_MySQL全面瓦解12:连接查询的原理和应用
- [Java基础]LinkedHashSet集合概述和特点