P3879 [TJOI2010]阅读理解

题目描述

英语老师留了N篇阅读理解作业,但是每篇英文短文都有很多生词需要查字典,为了节约时间,现在要做个统计,算一算某些生词都在哪几篇短文中出现过。

输入输出格式

输入格式:

第一行为整数N,表示短文篇数,其中每篇短文只含空格和小写字母。

按下来的N行,每行描述一篇短文。每行的开头是一个整数L,表示这篇短文由L个单词组成。接下来是L个单词,单词之间用一个空格分隔。

然后为一个整数M,表示要做几次询问。后面有M行,每行表示一个要统计的生词。

输出格式:

对于每个生词输出一行,统计其在哪几篇短文中出现过,并按从小到大输出短文的序号,序号不应有重复,序号之间用一个空格隔开(注意第一个序号的前面和最后一个序号的后面不应有空格)。如果该单词一直没出现过,则输出一个空行。

卡空间的毒瘤题。

怒开bitset过掉。

code:

#include <iostream>
#include <cstdio>
#include <bitset>using namespace std;const int wx=500017;inline int read(){int sum=0,f=1; char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}while(ch>='0'&&ch<='9'){sum=(sum<<1)+(sum<<3)+ch-'0'; ch=getchar();}return sum*f;
}int n,m;
char c[wx];struct Trie{int tr[wx][29];bitset<1010>flag[wx];int cnt;void insert(char *s,int fl){int p=0;for(int i=0;s[i];i++){int k=s[i]-'a';if(!tr[p][k])tr[p][k]=++cnt;p=tr[p][k];}flag[p][fl]=1;}void query(char *s){int p=0;for(int i=0;s[i];i++){int k=s[i]-'a';if(!tr[p][k]){puts("");return ;}p=tr[p][k];}for(int i=1;i<=n;i++){if(flag[p][i])printf("%d ",i);}puts("");}}Trie;int main(){n=read();for(int i=1;i<=n;i++){int x; x=read();for(int j=1;j<=x;j++){scanf("%s",c);Trie.insert(c,i);}}m=read();for(int i=1;i<=m;i++){scanf("%s",c);Trie.query(c);}return 0;
}

转载于:https://www.cnblogs.com/wangxiaodai/p/9901644.html

Trie树【洛谷P3879】 [TJOI2010]阅读理解相关推荐

  1. 洛谷P3879 [TJOI2010] 阅读理解 题解

    洛谷P3879 [TJOI2010] 阅读理解 题解 题目链接:P3879 [TJOI2010] 阅读理解 题意: 英语老师留了 NNN 篇阅读理解作业,但是每篇英文短文都有很多生词需要查字典,为了节 ...

  2. 洛谷P3879 [TJOI2010] 阅读理解 哈希Hash解法

    题目描述: 英语老师留了 N 篇阅读理解作业,但是每篇英文短文都有很多生词需要查字典,为了节约时间,现在要做个统计,算一算某些生词都在哪几篇短文中出现过. 输入格式 第一行为整数 N ,表示短文篇数, ...

  3. P3879 [TJOI2010]阅读理解 [STL]

    P3879 [TJOI2010]阅读理解 我永远喜欢STL 显然要用到哈希类似的东西,说到哈希我就想到了map. 但是map怎么存一串数字还不MLE啊?说到存一串数字还不MLE我就先到了vector. ...

  4. map集合——阅读理解(洛谷 P3879)

    题目选自洛谷P3879 直接用map<string,vecotr<int> > 代替这题里的trie树,注意开map的时候后面两个> >之间要有一个空格. 用vec ...

  5. 信息学奥赛一本通 1365:FBI树(fbi) | 1928:【04NOIP普及组】FBI树 | 洛谷 P1087 [NOIP2004 普及组] FBI 树

    [题目链接] ybt 1365:FBI树(fbi) ybt 1928:[04NOIP普及组]FBI树 洛谷 P1087 [NOIP2004 普及组] FBI 树 [题目考点] 1. 二叉树 [解题思路 ...

  6. [TJOI2010]阅读理解

    题目描述 英语老师留了N篇阅读理解作业,但是每篇英文短文都有很多生词需要查字典,为了节约时间,现在要做个统计,算一算某些生词都在哪几篇短文中出现过. 输入输出格式 输入格式: 第一行为整数N,表示短文 ...

  7. 二分答案——砍树(洛谷 P1873)

    题目选自洛谷P1873 分析:如果句子非常低,可以收集到的木材会更多,以至于超过需要的数量.随着砍树高度逐渐增大,获得的木材会逐渐减少.砍树高度增加到一定程度时,收集到的木材就会开始不够用.因此需要找 ...

  8. 线段树 洛谷 p1531 I hate it(I hate it too)

    这里写链接内容 线段树模板 字符串是一个很诡异的问题.... #include<cstdio> #include<iostream> #include<string> ...

  9. 洛谷3871 [TJOI2010]中位数 维护队列的中位数

    题目描述 给定一个由N个元素组成的整数序列,现在有两种操作: 1 add a 在该序列的最后添加一个整数a,组成长度为N + 1的整数序列 2 mid 输出当前序列的中位数 中位数是指将一个序列按照从 ...

最新文章

  1. [转帖]C#执行SQL脚本,读取XML文件
  2. 009_调色盘和高亮样式
  3. HP-UX平台安装Oracle11gR2数据库
  4. LeetCode 1259. 不相交的握手(DP)
  5. KinhDown 2.4.08最新稳定版 百度网盘不限速下载工具
  6. Maven(4)--- 构建生命周期
  7. LeetCode-----反转链表
  8. Spring Cloud与微服务学习总结(8)——Spring Boot、微服务架构和大数据治理三者之间的故事
  9. android pod 组件化_Flutter组件化导入至iOS现有工程中(CocoaPods篇)
  10. IDL | 实验五 IDL数据可视化
  11. java继承的性质,浅谈Java三大特性之继承
  12. 平衡小车simulink仿真_到底该用哪款神器来仿真我的机器人?
  13. word最后一页空白页删除
  14. 最有效率地戒掉晚睡强迫症(熬夜强迫症、假象失眠症等等)
  15. 反问疑问_反问、疑问还是设问?
  16. mac电脑怎么连接蓝牙鼠标?
  17. Apple iPhone
  18. 【Codeforces613D】Kingdom and its Cities【虚树】【Tree DP】
  19. 患病职工解除劳动关系可以吗
  20. Chrome代理设置

热门文章

  1. FreePBX SIP Trunk
  2. python爬虫---从零开始(一)初识爬虫
  3. 第23天 django的modal的正向反向查找 多对多查找 分组和聚合 F和Q ORM补充select_related和prefetch_related (无内容)...
  4. 关于c++中的Debug以及runtime_error之segment_fault
  5. ie关闭浏览器tab提示信息
  6. uiautomator 代码记录 :BT接收测试
  7. 【BZOJ2326】【HNOI2011】数学作业 [矩阵乘法][DP]
  8. 颜色空间模型(HSV\LAB\RGB\CMYK)
  9. ARM linux的启动部分源代码简略分析
  10. C# List Sort