2026/6/10 6:48:25
网站建设
项目流程
怎样使用网站后台的模板,上海徐汇龙华公司鞋子,seo优化排名易下拉效率,马云做一网站 只作一次月月查华华的手机
时间限制#xff1a;2秒 空间限制#xff1a;256M
知识点#xff1a;思维题
网页链接
牛客tracker
牛客tracker 每日一题#xff0c;完成每日打卡#xff0c;即可获得牛币。获得相应数量的牛币#xff0c;能在【牛币兑换中心】#xff0c;换…月月查华华的手机时间限制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^61≤N≤2×10^51≤∑_{i1}^NB_i≤10^61≤∣A∣≤1061≤N≤2×1051≤∑i1NBi≤106输出描述输出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备注本题已于下方时间节点更新请注意题解时效性2025 − 12 − 15 2025-12-152025−12−15n 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 ii处26 2626个小写字母在i ii及之后第一次出现的索引初始时最后一个位置的所有字母索引设为− 1 -1−1随后处理每个好友的昵称字符串B BB用指针p o s pospos跟踪A AA中当前匹配的位置逐个遍历B BB的字符查找该字符在A AA中p o s pospos位置之后的首次出现索引若不存在则判定B BB不是A AA的子序列输出N o NoNo若存在则更新p o s pospos为该索引 1 11遍历完成则判定为子序列输出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 1e61e6、N NN达2 e 5 2e52e5的规模通过预处理避免重复查找高效完成子序列判断。代码内容#includebits/stdc.husingnamespacestd;typedeflonglongll;typedefpairll,llpii;constll p1e97;constll N1e510;constll M26;intmain(){string x;cinx;ll nx.size();vectorarrayll,Ms(n1);for(ll c0;cM;c)s[n][c]-1;for(ll in-1;i0;i--){s[i]s[i1];s[i][x[i]-a]i;}ll t;cint;while(t--){string y;ciny;ll pos0;boolok1;for(charc:y){ll idxc-a;if(posn||s[pos][idx]-1){ok0;break;}poss[pos][idx]1;}cout(ok?Yes\n:No\n);}return0;}