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

平板做网站服务器呼和浩特网站建设哪家好

平板做网站服务器,呼和浩特网站建设哪家好,2002年做网站多少钱,安卓软件开发公司AcWing 835. Trie 字符串统计 题目描述 维护一个字符串集合#xff0c;支持两种操作#xff1a; I x 向集合中插入一个字符串 #x1d465;#xff1b;Q x 询问一个字符串在集合中出现了多少次。 共有 #x1d441; 个操作#xff0c;所有输入的字符串总长度不超过 1…AcWing 835. Trie 字符串统计 题目描述 维护一个字符串集合支持两种操作 I x 向集合中插入一个字符串 Q x 询问一个字符串在集合中出现了多少次。 共有 个操作所有输入的字符串总长度不超过 10^5字符串仅包含小写英文字母。 输入格式 第一行包含整数 表示操作数。 接下来 行每行包含一个操作指令指令为 I x 或 Q x 中的一种。 输出格式 对于每个询问指令 Q x都要输出一个整数作为结果表示 在集合中出现的次数。 每个结果占一行。 数据范围 1≤≤2∗10^4 输入样例 5 I abc Q abc Q ab I ab Q ab输出样例 1 0 1C #include iostream #include stringusing namespace std;const int MAX_NODES 100010; // 定义最大节点数int trie[MAX_NODES][26], count[MAX_NODES], index; // trie数组用于存储字典树count数组用于计数index用于记录节点数量// 插入单词到字典树中 void insert(const string word) {int node 0; // 从根节点开始for (char letter: word) { // 遍历单词中的每个字母int idx letter - a; // 将字母映射到[0, 25]的范围内if (!trie[node][idx]) trie[node][idx] index; // 如果当前节点的子节点不存在则创建新的节点node trie[node][idx]; // 移动到下一个节点}count[node]; // 单词插入完成对应节点的计数加一 }// 查询字典树中某个单词的出现次数 int query(const string word) {int node 0; // 从根节点开始for (char letter: word) { // 遍历单词中的每个字母int idx letter - a; // 将字母映射到[0, 25]的范围内if (!trie[node][idx]) return 0; // 如果当前节点的子节点不存在则说明单词不存在于字典树中返回0node trie[node][idx]; // 移动到下一个节点}return count[node]; // 返回单词对应节点的计数值 }int main() {ios::sync_with_stdio(false);cin.tie(nullptr);int n;cin n;while (n--) {char op;string word;cin op word;if (op I) insert(word);else cout query(word) endl;}return 0; }Go package mainimport (bufiofmtos )const (AlphabetSize 26MaxNodes 100010 )var (trie [MaxNodes][AlphabetSize]intcount [MaxNodes]intindex int )// 插入单词到字典树中 func insert(word string) {node : 0 // 从根节点开始for i : 0; i len(word); i { // 遍历单词中的每个字母letter : word[i]idx : letter - a // 将字母映射到[0, 25]的范围内if trie[node][idx] 0 { // 如果当前节点的子节点不存在则创建新的节点indextrie[node][idx] index}node trie[node][idx] // 移动到下一个节点}count[node] // 单词插入完成对应节点的计数加一 }// 查询字典树中某个单词的出现次数 func query(word string) int {node : 0 // 从根节点开始for i : 0; i len(word); i { // 遍历单词中的每个字母letter : word[i]idx : letter - a // 将字母映射到[0, 25]的范围内if trie[node][idx] 0 { // 如果当前节点的子节点不存在则说明单词不存在于字典树中return 0}node trie[node][idx] // 移动到下一个节点}return count[node] // 返回单词对应节点的计数值 }func main() {reader : bufio.NewReader(os.Stdin)writer : bufio.NewWriter(os.Stdout)defer writer.Flush()var n intfmt.Fscanln(reader, n)for i : 0; i n; i {var op bytevar word stringfmt.Fscanf(reader, %c %s\n, op, word)if op I {insert(word)} else {fmt.Fprintln(writer, query(word))}} }模板 int son[N][26], cnt[N], idx; // 0号点既是根节点又是空节点 // son[][]存储树中每个节点的子节点 // cnt[]存储以每个节点结尾的单词数量// 插入一个字符串 void insert(char *str) {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];}cnt[p] ; }// 查询字符串出现的次数 int query(char *str) {int p 0;for (int i 0; str[i]; i ){int u str[i] - a;if (!son[p][u]) return 0;p son[p][u];}return cnt[p]; }
http://www.ho-use.cn/article/10823865.html

相关文章:

  • pc wap 装修公司网站源码计算机软件开发专业学什么
  • 浙江专业网站seo一对一直播交友app开发
  • 商田科技网站淮南百姓网
  • 化学试剂购买网站建个网站多少钱app
  • 网站图片要求网络营销与直播电商专业介绍
  • 网站蜘蛛爬行统计长沙公司网站制作
  • 刚开今天新开传奇网站上传网站程序后又怎么做
  • 在家做网站建设邯郸网络技术公司
  • 企业网站建设宣贯软件工程月薪一般多少
  • 企业网站个人可以备案吗网站服务器维护内容
  • 怎么做网站系统商城和营销型网站建设
  • 做网站找哪家公司好珠海做网站优化的公司
  • 手机版网站建设报价wordpress4.7下载
  • 印度做网站怎么注册公司企业微信
  • 江苏网站建设的案例展示苏州网站开发公司兴田德润怎么联系
  • 做网站公司需要什么资质wordpress充值中心
  • 安庆网站开发做100个网站挂广告联盟
  • 广西建设工程质检安全网站最新站群系统
  • 自建站平台如何修改上线网站
  • 宁波慈溪网站建设个体工商网上年检
  • iis7发布静态网站兴义市网站建设
  • 瑞安做微网站保定网站公司
  • 互联网传媒 网站代驾软件开发流程
  • 佛山专门做网站设计怎样做模板网站购买
  • 陕西煤炭建设公司网站遵义建立公司网站的步骤
  • 阳江网站开发英文网站建设注意什么
  • 偃师网站建设国外网站设计理念
  • rp做网站郑州小程序设计外包
  • 东莞网站建设 光龙个人网站 建设方案书
  • 杭州自助建站济南外贸网站建设公司排名