当前位置: 首页 > news >正文

P 3879阅读理解

点击查看代码
#include<bits/stdc++.h>using namespace std;const int N=5e6,M=1e3+10;int son[N][26];
char str[21];
//这个bitset变量实际上就是集合的一种变形,实现了一个二维数组,映射起来有点麻烦,/但是内存就是优点
bitset<M> bs[N];
int n,m,idx;
//对每一个单词进行读入,因此最后的p就是单词的末尾
inline void insert(char* str,int x)
{int p=0;for(int i=0;str[i];i++){int u=str[i]-'a';if(!son[p][u]) son[p][u]=++idx;p=son[p][u];}bs[p][x]=1;}inline void query(char* str)
{int p=0;for(int i=0;str[i];i++){int u=str[i]-'a';if(!son[p][u]){cout<<' '<<endl;return;}p=son[p][u];}for(int i=1;i<=n;i++){if(bs[p][i]==1) cout<<i<<" ";}cout<<endl;
}int main()
{cin>>n;//用迭代时因为还需要记录是第几篇文章for(int i=1;i<=n;i++){int len;cin>>len;//对每一段每一个单词进行读入for(int j=1;j<=len;j++){cin>>str;insert(str,i);}}cin>>m;while(m--){cin>>str;query(str);}return 0;
}依旧是简单的模板题目,不过这里强化了我对insert操作的认知,每次最后的p就是末尾,给这个末尾++就相当于记录,基本上所有的操作都是在单词末尾进行
而且加强了我对内存的认知,1mb=1e6字节,bitset<>[]是实现映射又节省内存的方法
以及如果要记得n处理的第几个的话应该用for,因为这样可以对每一个i操作
http://www.jsqmd.com/news/56083/

相关文章:

  • lsFusion服务器路径遍历漏洞分析:unpackFile函数的安全隐患
  • 2025年中国十大国家标准物质公司推荐:国家标准物质购买找哪
  • 2025年东北优质权豆13号服务商排行榜,实力强的权豆13号
  • 【译】Copilot 自动模型选择介绍(预览版)
  • 2025设计游戏动漫培训学校TOP5权威推荐:助力数字创意人
  • 2025年东北大豆种子加工领域TOP5企业推荐:知名权豆13
  • 完整教程:C++高斯滤波GaussianBlur函数用法(附带源码)
  • P3386 【模板】二分图最大匹配 (匈牙利算法)
  • 2025水力抽水泵厂家TOP5权威推荐:可靠的自动抽水泵厂家
  • 2025年权豆3号相关种业企业推荐,权豆3号产量提升、改良品
  • AI元人文构想:算法规制——悬荡悟空机制的深度解读
  • 04.谓词逻辑
  • 2025年中国水力水轮泵厂家排名:水轮泵配件有哪些厂家?
  • 2025大豆种子企业TOP5权威推荐:耐旱、水田适配种子全测
  • JavaEE初阶,网络编程篇 - 详解
  • LangGraph:add_conditional_edges详解
  • 【超音速专利 CN118134841A】一种光伏产品缺陷检测AI深度学习算法 - 教程
  • 2025年中国水轮泵十大品牌推荐:水轮泵哪家性价比高
  • 2025东北优良大豆种子TOP5权威推荐:甄选优质品种助力农
  • SQL大表关联优化全攻略 - 指南
  • C# 金字塔体积计算程序(Program for volume of Pyramid) - 教程
  • 2025年全国水轮泵设备企业综合评价:永州市冷水滩华立水力机
  • 2025年东北大豆种业十大靠谱品牌推荐:天豆种业可靠吗?
  • 2025年十大GEO推广优化专业公司排行榜,新测评精选推荐
  • P10467 [CCC 2007] Snowflake Snow Snowflakes 题解
  • VSCode 常用快捷键/命令大全
  • 从Hello World到“能做简单计算”,吃透基础语法
  • 2025年度芯硅谷售后完善度及市场口碑TOP5排行榜:五大实
  • P8023 [ONTAK2015] Tasowanie 题解
  • Swift项目生成Framework流程以及与OC的区别 - 详解