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/168650.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月8日 下午7:16
下一篇 2022年8月8日 下午7:16


相关推荐

  • java的变量命名规则_【Java】变量命名规范

    java的变量命名规则_【Java】变量命名规范Java 是一种区分字母的大小写的语言 所以我们在定义变量名的时候应该注意区分大小写的使用和一些规范 接下来我们简单的来讲讲 Java 语言中包 类 变量等的命名规范 一 Package 包 的命名 Package 的名字应该都是由一个小写单词组成 例如 com xuetang9 company 等 二 Class 类 的命名 Class 的名字首字母大写 通常由多个单词合成一个类名 要求每个单词的首字母也要大

    2026年3月18日
    1
  • PHP中file_exists()函数不能检测包含中文的文件名的解决办法

    PHP中file_exists()函数不能检测包含中文的文件名的解决办法

    2021年9月22日
    187
  • “养龙虾”突然爆火,最新提醒

    “养龙虾”突然爆火,最新提醒

    2026年3月13日
    2
  • 徜徉在宋词里的女子

    徜徉在宋词里的女子

    2022年1月28日
    49
  • UltraEdit 许可证ID 如何加密和解密文本教程分享

    UltraEdit 许可证ID 如何加密和解密文本教程分享UltraEdit 是一款非常优秀的文本编辑器 功能丰富 易于使用 在处理文本时 大家有时候需要保护敏感数据 UltraEdit 的内置加密功能提供了一种快速 简单的加密 解密敏感数据的方法 让大家能够确保敏感数据的安全 从 V14 00 开始 可以使用内置的高级加密方法加密和解密文件 加密文件首先 需要使用 文件 打开 对话框浏览并打开需要的文件 打开需要加密的文件后 选择工具栏中 高级 加密 然后点击加密文件 在弹出的窗口中 需要选择 要加密的文件 密码 并且重复确认一次密码 需要注意

    2026年3月20日
    2
  • 利用griddata进行插值

    利用griddata进行插值因为最近在做算法优化,所以对数据统一性有一定要求,在最近的研究中主要用一个简单的最近邻插值对数据集进行降尺度处理。主要运用到的函数时scipy里面的griddata第一步:导入相关库importxarrayasxrfromscipy.interpolateimportgriddata#插值函数importnumpyasnp第二步:给出插值到的经纬度信息(目标经纬度)mask_tmp=xr.open_dataset(‘G:/China/temperatu

    2022年5月9日
    51

发表回复

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

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