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

模板索引 字符串

字典树

点击查看代码
void insert(char *str){int rot = 0; // 当前子树根节点int len = strlen(str);int res = 0 ; // 表示字典树路径上存在有几个别的单词,用于这道题统计答案for(int i = 0; i < len; i++){int c = str[i] - 'a';if(trie[rot][c] == 0)// 没有这个节点trie[rot][c] = ++tot;rot = trie[rot][c]; // 跳到该节点res += word[rot];}word[rot]++;if(res + 1 > ans) ans = res + 1;
}

KMP

点击查看代码
vector<int> prefix_function(string s) {int n = (int)s.length();vector<int> pi(n);for (int i = 1; i < n; i++) {int j = pi[i - 1];while (j > 0 && s[i] != s[j]) j = pi[j - 1];if (s[i] == s[j]) j++;pi[i] = j;}return pi;
}
点击查看代码
vector<int> find_occurrences(string text, string pattern) {string cur = pattern + '#' + text;int sz1 = text.size(), sz2 = pattern.size();vector<int> v;vector<int> lps = prefix_function(cur);for (int i = sz2 + 1; i <= sz1 + sz2; i++) {if (lps[i] == sz2) v.push_back(i - 2 * sz2);}return v;
}
http://www.gsyq.cn/news/75028.html

相关文章:

  • 2025.12.6日22:51-patriarchal家长的;族长的;由族长统治的
  • 2024 MUCAR BT200 PRO OBD2 Scanner: Full System Diagnostic 15 Resets Wireless Code Reader
  • 责任链模式
  • Last Dance
  • 每日反思(2025年12月6号)
  • AT_agc002_d 题解
  • 【亲测免费】 开源项目html2image常见问题解决方案 - 详解
  • 2025最新东莞简餐快餐菜品研发培训服务商/厂家TOP5评测!全链条赋能+实战落地权威榜单发布,助力餐饮品牌破解同质化难题
  • 12月6日总结 - 作业----
  • AlmaLinux下mysql 8安装与数据迁移
  • 策略模式
  • Ubuntu下,MySQL修改端口号
  • CSP2024 游记
  • CRNN
  • wireshark相关
  • 一些特性的演变过程(C++11、C++14、C++17、C++20)
  • 支离破碎发言(七)
  • MD-FPN
  • 2025最新贵州特产/伴手礼供应商TOP5推荐!贵州/贵阳/遵义/毕节/黔东南特产选购平台/渠道/供应商/采购渠道榜单发布,甄选贵州地道风物好礼
  • 街头徒手健身3硬核核心训练
  • 我们的休闲娱乐区,会变成什么样子(哽咽)
  • Cloudflare成功抵御AISURU僵尸网络发起的破纪录29.7 Tbps DDoS攻击
  • 从 Spring Boot 2.x 到 3.5.x + JDK21:一次完整的生产环境迁移实战 - Rainbow
  • 2025最新贵州/贵阳手信/伴手礼厂家 TOP5 评测!地道风物+文化赋能权威榜单发布,甄选贵礼传递山水心意
  • Focal Loss
  • 19
  • JavaScript 数组 对象 Map Set (映射,集合) 没有字典
  • 18
  • 麒麟ARM架构安装redis - show
  • IMX6ULL主频和时钟配置