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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux 放开8080端口命令_linux开放端口命令

    linux 放开8080端口命令_linux开放端口命令1.centos7版本对防火墙进行加强,不再使用原来的iptables,启用firewall1.查看已开放的端口(默认不开放任何端口)firewall-cmd–list-ports2.开启80端口firewall-cmd–zone=public(作用域)–add-port=80/tcp(端口和访问类型)–permanent(永久生效)firewall-cmd–zone=pub…

    2025年9月25日
    6
  • 分遗产

    分遗产

    2022年2月1日
    36
  • 【nodejs】node不是内部或外部命令

    【nodejs】node不是内部或外部命令

    2021年10月1日
    48
  • 永恒之蓝漏洞复现(MS17010)

    永恒之蓝漏洞复现(MS17010)永恒之蓝实验(MS17010)1.概念永恒之蓝是指2017年4月14日晚,黑客团体ShadowBrokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。5月12日,不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒。恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。2.什么是ARTA

    2022年5月2日
    54
  • 算法高级(21)-如何通过IP地址进行定位?[通俗易懂]

    最近项目有一个用户地域分析的需求,现在知道ip字段,需要通过用户的ip查找归属地,我们这里将ip直接转换成对应城市的字符串。一、通过IP库二分查找ip库是从淘宝买的,csdn下载地址:【ip字段国内外均有】ip.txt是ip地址和归属地的规则数据,里面的数据是根据ip地址的十进制从高到低排序。 第一个字段是网段的起始IP地址,第二个字段是网段的结束IP地址, 第三个字段是网段的…

    2022年4月17日
    80
  • struts2 FilterDispatcher 和 StrutsPrepareAndExecuteFilter 的区别

    struts2 FilterDispatcher 和 StrutsPrepareAndExecuteFilter 的区别转自:http://blog.csdn.net/s_ongfei/article/details/5811070FilterDispatcher是struts2.0.x到2.1.2版本的核心过滤器.! StrutsPrepareAndExecuteFilter是自2.1.3开始就替代了FilterDispatcher的.! 这样的改革当然是有好处的.! 为什么这么说.?应该知道如果我们自…

    2022年8月16日
    6

发表回复

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

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