gis中char是什么字段_gis中字段类型char

gis中char是什么字段_gis中字段类型char维护一个字符串集合,支持两种操作:I x 向集合中插入一个字符串 x;Q x 询问一个字符串在集合中出现了多少次。共有 N 个操作,输入的字符串总长度不超过 105,字符串仅包含小写英文字母。输入格式第一行包含整数 N,表示操作数。接下来 N 行,每行包含一个操作指令,指令为 I x 或 Q x 中的一种。输出格式对于每个询问指令 Q x,都要输出一个整数作为结果,表示 x 在集合中出现的次数。每个结果占一行。数据范围1≤N≤2∗104输入样例:5I abcQ abcQ ab

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

维护一个字符串集合,支持两种操作:

I x 向集合中插入一个字符串 x;
Q x 询问一个字符串在集合中出现了多少次。
共有 N 个操作,输入的字符串总长度不超过 105,字符串仅包含小写英文字母。

输入格式
第一行包含整数 N,表示操作数。

接下来 N 行,每行包含一个操作指令,指令为 I x 或 Q x 中的一种。

输出格式
对于每个询问指令 Q x,都要输出一个整数作为结果,表示 x 在集合中出现的次数。

每个结果占一行。

数据范围
1≤N≤2∗104

输入样例:
5
I abc
Q abc
Q ab
I ab
Q ab
输出样例:
1
0
1

题解
Trie字典树

#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int trie[N][26],cnt[N],idx;//下表是0的节点,既是根节点,又是空节点
void insert(char str[]){ 
   
    int p = 0;
    for(int i = 0;i < strlen(str);i ++){ 
   
        int u = str[i] - 'a';
        if(!trie[p][u])trie[p][u] = ++idx;
        p = trie[p][u];
    }
    cnt[p] ++;
}
int query(char str[]){ 
   
    int p = 0;
    for(int i = 0;i < strlen(str);i ++){ 
   
        int u = str[i] - 'a';
        if(trie[p][u] == 0)return 0;
        p = trie[p][u];
    }
    return cnt[p];
}
int main(){ 
   
    int T;
    cin>>T;
    char x;
    char s[N];
    while(T --){ 
   
        cin>>x;
        scanf("%s",s);
        if(x == 'I')insert(s);
        else cout<<query(s)<<endl;
    }
    return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169130.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 大疆网上测评题库_【大疆待定面试】发了在线测评,感觉题目挺新的。-看准网…

    大疆网上测评题库_【大疆待定面试】发了在线测评,感觉题目挺新的。-看准网…写面经,攒人品。大疆服务运营培训生。1.大疆网上笔试题(比较独创,很有趣,也有歇跟大疆相关的题,要比较熟悉大疆),笔试过后,有岗位笔试作业。2.大疆服务运营培训生笔试作业题目。三道大题,开放性题目,专业和岗位相关,涉及报告类题目。规定期限内提交,审核,通过后进入面试环节。3.一面,微信视频面试。提前约定时间,到点准时打来,直奔主题。自我介绍,针对个人经历开始提问,最后会用英文简单问答一下看英语能力…

    2022年6月17日
    44
  • 芯片架构–四大处理器架构「建议收藏」

    芯片架构–四大处理器架构「建议收藏」处理器分为复杂指令集计算机(CISC)和精简指令集计算机(RISC)。1、x86架构我们使用的电脑以及公司的服务器,大部分采用了x86架构的处理器,以intel和AMD的处理器为主。x86架构的处理器采用了CISC指令集(复杂指令集计算机),x86架构的CPU分为x86和x86-64两类,目前主流的是x86-64,即64位的处理器。2、ARM架构我们的手机几乎全部使用了ARM架构,采用了RISC指令集(精简指令集),ARM的优势在于低功耗,因此非常适合手机等终端使用,x86架构的处理器无

    2025年9月28日
    2
  • 十大推送方式整理_消息推送

    十大推送方式整理_消息推送百度云推送百度云推送可谓为用户体验而生,它实现了多项创新,并通过百度各大产品线千万级连接的可用性测试,迅速成为国内第三方云推送平台的标杆。据了解,在百度云推送正式发布之前,大部分的百度产品其实都已在使用百度云推送,例如百度框、百度网盘、百度地图、百度视频,已覆盖数亿的用户规模百度的技术品牌为百度云推送的先进性、大规模并发与稳定性提供了保障。腾讯信鸽推送互联网巨无霸腾讯的产品,咱有用户优

    2022年10月5日
    3
  • Keras/Tensorflow+python+yolo3训练自己的数据集

    Keras/Tensorflow+python+yolo3训练自己的数据集代码:https://github.com/qqwweee/keras-yolo3修改yolov3.cfg文件:https://blog.csdn.net/lilai619/article/details/79695109本文介绍如何制作数据集、修改代码、不加载预权重从头跑自己的训练数据一、简单回顾一下yolo原理:   1、端到端,输入图像,一次性输出每个栅格预测的一种或多种物体   2、坐…

    2022年6月29日
    30
  • linux mail发送邮件_shell传输文件

    linux mail发送邮件_shell传输文件Linux发邮件之mail命令详解发布于2017-01-0516:44:04|154次阅读|评论:0|来源:网友投递LinuxLinux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。这篇文章主要介绍了Linux发邮件之mail命令详解,详细的讲解…

    2022年10月20日
    4
  • QT QStringList 与 QString 常用方法

    QT QStringList 与 QString 常用方法本文汇集了QString与(QStringList|QByteArray)之间的转换,以及QString、QStringList的一些常用方法。

    2022年4月30日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号