2026/4/18 12:27:08
网站建设
项目流程
网站网站做员工犯法吗,用现成的php模板 怎么做网站,l辽宁建设工程信息网,网站 备案 初审阅读理解
时间限制#xff1a;1秒 空间限制#xff1a;256M
网页链接
牛客tracker
牛客tracker 每日一题#xff0c;完成每日打卡#xff0c;即可获得牛币。获得相应数量的牛币#xff0c;能在【牛币兑换中心】#xff0c;换取相应奖品#xff01;助力每日有题…阅读理解时间限制1秒 空间限制256M网页链接牛客tracker牛客tracker 每日一题完成每日打卡即可获得牛币。获得相应数量的牛币能在【牛币兑换中心】换取相应奖品助力每日有题做丰盈牛币日益多题目描述英语老师布置了N NN篇阅读理解作业。对于若干给定的生词老师想知道它们分别出现在了哪些短文中以便统计查词量。给定N NN篇短文与M MM次查询每次给出一个单词w ww请输出w ww出现过的所有短文编号按升序若从未出现则输出空行。输入描述第一行输入整数N ( 1 ≦ N ≦ 10 3 ) N (1≦N≦10^3)N(1≦N≦103)。接下来N NN行描述各短文其中的第i ii行先给出整数L i ( 1 ≦ L i ≦ 50 ) L_i (1≦Li≦50)Li(1≦Li≦50)——该短文包含的单词数量 随后L i L_iLi个仅由小写英文字母组成的单词每个单词长度不超过20 2020个字符单词之间以单个空格分隔。紧接着输入整数M ( 1 ≦ M ≦ 10 4 ) M (1≦M≦10^4)M(1≦M≦104)——查询次数。之后M MM行每行一个小写单词w j w_jwj表示一次查询。输出描述对于每个查询单词w j w_jwj若w j w_jwj 出现过输出其出现过的短文编号 1 ∼ N 1∼N1∼N按升序用单个空格分隔若未出现输出空行。输出中每个查询对应一行行首行尾均无多余空格。示例1输入3 9 you are a good boy ha ha o yeah 13 o my god you like bleach naruto one piece and so do i 11 but i do not think you will get all the points 5 you i o all naruto输出1 2 3 2 3 1 2 3 2解题思路本题核心是通过哈希映射存储单词与短文编号的关联关系选用mapstring, setll作为核心容器k e y keykey为单词字符串v a l u e valuevalue为有序集合存储对应短文编号集合可自动对短文编号去重且保持升序排列完美匹配题目输出要求先读取短文数量n nn遍历每篇短文编号1 ˜ n 1 \~\ n1˜n读入单词数和对应单词将单词与当前短文编号插入映射容器再读取查询数m mm逐次读入查询单词遍历容器中该单词对应的集合按序输出短文编号无对应记录则输出空行。该方法利用容器特性省去手动去重和排序操作结合数据规模n ≤ 1 e 3 n≤1e3n≤1e3、单篇单词≤ 50 ≤50≤50、m ≤ 1 e 4 m≤1e4m≤1e4时间复杂度高效且无冗余精准完成所有查询的匹配与输出。代码内容#includebits/stdc.husingnamespacestd;typedeflonglongll;typedefunsignedlonglongull;typedefpairll,llpii;constll p1e97;constll N1e510;intmain(){ll n;cinn;mapstring,setllindex;//构建哈希表set为了去重for(ll i1;in;i){ll l;cinl;for(ll j0;jl;j){string s;cins;index[s].insert(i);}}ll m;cinm;for(ll j0;jm;j){string w;cinw;for(ll i:index[w])couti ;coutendl;}return0;}