news 2026/7/3 16:43:49

月月查华华的手机【牛客tracker 每日一题】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
月月查华华的手机【牛客tracker 每日一题】

月月查华华的手机

时间限制:2秒 空间限制:256M

知识点:思维题

网页链接

牛客tracker

牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题做,丰盈牛币日益多!

题目描述

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

输入描述:

第一行输入一个字符串A AA表示华华的昵称。
第二行输入一个正整数N NN表示华华的推荐好友的个数。

接下来N NN行,每行输入一个字符串B i B_iBi表示某个推荐好友的昵称。

1 ≤ ∣ A ∣ ≤ 1 0 6 , 1 ≤ N ≤ 2 × 1 0 5 , 1 ≤ ∑ i = 1 N B i ≤ 1 0 6 1≤∣A∣≤10^6,1≤N≤2×10^5,1≤∑_{i=1}^NB_i≤10^61≤∣A∣≤1061N2×1051i=1NBi106

输出描述:

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

示例1

输入:

noiauwfaurainairtqltqlmomomo 8 rain air tql ntt xiaobai oiiiooo orzcnzcnznb ooooo

输出:

Yes Yes Yes Yes No Yes No No

备注:

本题已于下方时间节点更新,请注意题解时效性:

  1. 2025 − 12 − 15 2025-12-1520251215n nn的数据范围从1 0 6 10^6106缩减至2 × 1 0 5 2×10^52×105,同时增加了若干组数据。

解题思路

首先预处理华华的昵称字符串A AA,构建一个二维数组s ss(大小为(l e n ( A ) + 1 ) × 26 len(A)+1)×26len(A)+1)×26),从后往前遍历A AA,记录每个位置i ii26 2626个小写字母在i ii及之后第一次出现的索引(初始时最后一个位置的所有字母索引设为− 1 -11);随后处理每个好友的昵称字符串B BB,用指针p o s pospos跟踪A AA中当前匹配的位置,逐个遍历B BB的字符,查找该字符在A AAp o s pospos位置之后的首次出现索引,若不存在则判定B BB不是A AA的子序列(输出N o NoNo),若存在则更新p o s pospos为该索引+ 1 +1+1,遍历完成则判定为子序列(输出Y e s YesYes);该方法预处理时间复杂度为O ( l e n ( A ) × 26 ) O(len(A)×26)O(len(A)×26),单次查询为O ( l e n ( B ) ) O(len(B))O(len(B)),适配l e n ( A ) len(A)len(A)和所有B BB的长度和达1 e 6 1e61e6N NN2 e 5 2e52e5的规模,通过预处理避免重复查找,高效完成子序列判断。

代码内容

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefpair<ll,ll>pii;constll p=1e9+7;constll N=1e5+10;constll M=26;intmain(){string x;cin>>x;ll n=x.size();vector<array<ll,M>>s(n+1);for(ll c=0;c<M;c++)s[n][c]=-1;for(ll i=n-1;i>=0;i--){s[i]=s[i+1];s[i][x[i]-'a']=i;}ll t;cin>>t;while(t--){string y;cin>>y;ll pos=0;boolok=1;for(charc:y){ll idx=c-'a';if(pos>n||s[pos][idx]==-1){ok=0;break;}pos=s[pos][idx]+1;}cout<<(ok?"Yes\n":"No\n");}return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 18:26:39

23、Python 性能优化与设计模式详解

Python 性能优化与设计模式详解 1. 性能优化 1.1 多线程 多线程在性能优化中是一个重要手段。通常情况下,两个线程的运行速度大约是一个线程的两倍,但增加更多线程可能并不会带来速度提升,甚至可能因为开销问题导致性能下降,例如 24 个线程的运行速度可能比 12 个线程还…

作者头像 李华
网站建设 2026/7/3 13:46:25

IGBT结温估算:从算法到模型的深度探索

电机控制器&#xff0c;IGBT结温估算&#xff08;算法模型&#xff09;国际大厂机密算法&#xff0c;多年实际应用&#xff0c;准确度良好…… 能够同时对IGBT内部6个三极管和6个二极管温度进行估计&#xff0c;并输出其中最热的管子对应温度。 可用于温度保护&#xff0c;降额…

作者头像 李华
网站建设 2026/7/3 13:32:22

AI大模型:重构产业生态的核心引擎

当成都市民通过语音快速上报城市民生问题&#xff0c;几分钟内便收到智能响应&#xff1b;当医生借助AI辅助诊断系统精准识别早期肺部结节&#xff1b;当自动驾驶车辆在复杂路况中平稳避障——这些场景的背后&#xff0c;都离不开人工智能大模型的技术支撑。如今&#xff0c;AI…

作者头像 李华
网站建设 2026/7/3 8:20:21

Qt5 QWebEngine 调试最佳实践指南

公众号&#xff1a;cpp手艺人 Qt5 QWebEngine 调试最佳实践指南 最近在项目中遇到很多关于QWebEngine的疑难杂症&#xff0c;越发的发现调试手段的重要性。所以我这里做了一次总结。 总结来说三种&#xff1a;日志输出信息和自带的dev tools&#xff0c;以及远程调试。 1、开启…

作者头像 李华
网站建设 2026/7/3 2:46:53

探索级联H桥SVG高频阻抗模型

级联H桥svg高频阻抗模型 最近一直在研究级联H桥SVG&#xff08;静止无功发生器&#xff09;&#xff0c;今天来和大家分享一下其中的高频阻抗模型。 一、什么是级联H桥SVG 级联H桥SVG是一种用于电力系统无功补偿和谐波治理的重要装置。它由多个H桥级联而成&#xff0c;通过控…

作者头像 李华