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;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/168650.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python中的单引号和双引号的区别和用法_python中打印输出的语句

    python中的单引号和双引号的区别和用法_python中打印输出的语句python中的单引号和双引号的区别今天在码代码的过程中突然想到这个问题,于是上网浏览了一下,发现在python中两种表达方式是没有区别的,两种表达方式都可以用来表达一个字符串。但是这两种通用的表达方式,除了可以简化大家的开发,避免出错以外,还有一种好处,就是可以减转义字符的使用,使程序看起来更加简洁,更清晰。所以这里简单给大家分享一下,并举例说明。1.包含单引号的字符串假如我们想定义一个字符串my_str,其值为:I’mastudent,则可采用如下两种方式,通过转义字符“\”进行定义my_s

    2022年10月31日
  • GridBagConstraints布局[通俗易懂]

    GridBagConstraints布局[通俗易懂]查看API文档,我们就知道GridBagConstraints有十一个属性!自我感觉API文档里面有些东西讲得不是很好理解,就象gridx与gridy这两个属性一样,有些书上说gridx表示行,gridy表示列!API文档里面更是讲了一大堆。    现在,提供本人对这些属性的理解:  1,  gridx:表示组件的左边缘与网格左部之间的距离,如果学过HTML的话,那么gridx

  • Anaconda在PowerShell中无法使用activate激活环境

    Anaconda在PowerShell中无法使用activate激活环境Anaconda在PowerShell中无法使用activate激活环境并且使用AnacondaNavigator管理器也是可以成功激活环境的:但是问题来了:我在windows自带的WindowsPowerShell里使用activate命令切换环境时,命令明明已经成功执行,但却没有成功切换环境,如图:经过…

  • 莫忽视数据中心的可靠性

    莫忽视数据中心的可靠性

  • javauuid怎么获取_java uri类

    javauuid怎么获取_java uri类2.UUID工具类importjava.util.UUID;publicclassUUIDGenerator{publicUUIDGenerator(){}publicstaticStringgetUUID(){returnUUID.randomUUID().toString();}/***获得一个UUID**@returnStringUUID*/public…

  • 同时安装两个Tomcat配置教程(Win10)

    同时安装两个Tomcat配置教程(Win10)转载注明出处前言在日常开发中,有时候一个Tomcat容器不能满足我们的需求,那么能不能在一台机器上配置多个Tomcat呢?答案是可以的!本文将演示如何在WIN10下配置双Tomcat(Tomcat8.5.x和Tomcat9.0.x)。话不多说,开始吧!Linux下的请参考我的另一篇博客:(后续更新)准备下载ZIP配置多Tomcat推荐都使用ZIP版本,才能修改配置来避免冲突;不准备…

发表回复

您的电子邮箱地址不会被公开。

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