首页 > 试题广场 >

阅读理解

[编程题]阅读理解
  • 热度指数:1236 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt} 英语老师布置了 N 篇阅读理解作业。对于若干给定的生词,老师想知道它们分别出现在了哪些短文中,以便统计查词量。

\hspace{15pt} 给定 N 篇短文与 M 次查询,每次给出一个单词 w,请输出 w 出现过的所有短文编号(按升序),若从未出现则输出空行。

输入描述:
\hspace{15pt} 第一行输入整数 N\ (1\leqq N\leqq 10^{3})

\hspace{15pt} 接下来 N 行描述各短文,其中的第 i 行先给出整数 L_i(1\leqq L_i\leqq50)——该短文包含的单词数量 ,随后 L_i 个仅由小写英文字母组成的单词,每个单词长度不超过 20 个字符,单词之间以单个空格分隔。

\hspace{15pt} 紧接着输入整数 M\ (1\leqq M\leqq 10^{4})——查询次数。

\hspace{15pt} 之后 M 行,每行一个小写单词 w_j,表示一次查询。


输出描述:
\hspace{15pt} 对于每个查询单词 w_j
{\hspace{23pt}}\bullet\,w_j 出现过,输出其出现过的短文编号(1\sim N),按升序用单个空格分隔;
{\hspace{23pt}}\bullet\, 若未出现,输出空行。

\hspace{15pt} 输出中每个查询对应一行,行首行尾均无多余空格。
示例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

备注:

头像 kilomatutinal
发表于 2026-01-19 00:29:17
今天是哈希表模板题喵~猫猫会帮你的!对于这道题,猫猫第一想法是创建一个map < string , set <int> > 作为哈希表喵!猫猫把它称为index。猫猫来解释这个结构喵:它的键是string类型(单词),值是set<int>类型(包含该单词的短文编号 展开全文
头像 软件25_4刘卓生
发表于 2026-01-19 21:32:02
题目描述 英语老师布置了 篇阅读理解作业。对于若干给定的生词,老师想知道它们分别出现在了哪些短文中,以便统计查词量。 给定 篇短文与 次查询,每次给出一个单词 ,请输出 出现过的所有短文编号(按升序),若从未出现则输出空行。 本题是哈希表赢麻了的题 核心思路 核心观察 每篇短文可视为一 展开全文
头像 yunayu
发表于 2026-01-19 02:44:18
stl签到题。写一个从string映射到set的map即可,其中set的作用是存储包含当前string的段落索引。使用set替换vector是为了去重。 #include<bits/stdc++.h> using namespace std; int n, m, t; string s; 展开全文
头像 此在Dasein
发表于 2026-01-19 07:03:44
1. 问题分析 该问题是一个典型的全文检索(Full-Text Search)系统的简化模型。核心需求是构建从“关键词”到“文档ID”的映射关系,在工程中被称为倒排索引(Inverted Index)构建。 关键约束 数据规模: 文档数 ,每篇文档单词数 。总单词量级约为 。 查询次数 。 这是 展开全文
头像 Kato_Shoko
发表于 2026-01-19 12:42:01
噗嗤——这种连幼稚园小朋友都能秒杀的题目,居然还有人需要看题解?真是逊毙了!你们这群杂鱼平时写代码难道都不动脑子的吗?****************************既然你们求而不得,本天才少女加藤翔子就大发慈悲地给你们写一篇吧。好好盯着看,这可是为了救赎你们那可怜的智商才写的!📚 杂鱼也 展开全文
头像 丨阿伟丨
发表于 2025-09-10 10:47:37
PEEK133 阅读理解 题目链接 PEEK133 阅读理解 题目描述 给定 篇短文和 次查询。每次查询给出一个单词,要求输出该单词出现过的所有短文的编号(按升序排列)。 解题思路 这是一个经典的信息检索问题:给定一组文档和一个查询词,返回包含该查询词的所有文档。解决此类问题的标准且高效的数据结 展开全文
头像 quchen666
发表于 2026-01-19 17:16:23
#include <bits/stdc++.h> using namespace std; const int N = 1e5+10; int n ; int main() { ios::sync_with_stdio(false); cin.tie(0); 展开全文
头像 bing糖雪狸
发表于 2026-01-19 23:46:59
题目信息平台:牛客题目:阅读理解难度:简单题目链接题目描述给定 n 篇文章,每篇文章包含若干单词。随后有 m 次查询,每次给出一个单词,需要输出所有包含该单词的文章编号(按从小到大),若不存在则输出空行。初步思路预处理阶段用哈希表建立“单词 -> 出现的文章编号列表”。每篇文章内重复单词只记录 展开全文
头像 YunBaichuan
发表于 2026-01-19 09:25:22
思路:hash表,模拟即可。还是那个问题,对于多次输出,要用一个out数组来记录输出结果,最终一个print全部输出。为什么?因为print很亏时间,如果每次查询都print输出的话,必然会超时 注意:句子中会有重复的单词存在,因此我们应该用defaultdict(set)进行去重 代码: impo 展开全文
头像 自由的风0450
发表于 2026-01-19 13:39:29
遍历每篇短文,对每个单词,将当前短文编号加入其对应的列表(注意去重)。 #include <iostream> #include<unordered_map> #include<vector> #include<string> using namesp 展开全文