字符串1:字符串Hash、Trie、Manacher
📅 2026/7/18 23:44:41
👁️ 次浏览
一、字符串Hash1.时间复杂度O(Σlen)2.思路(1)把字符串转化为一个数字(2)对数字进行取模(除数为质数)(3)为保证准确性进行两次上述操作后构成数对塞入集合。3.代码如下#include bits/stdc.h #define int long long #define B1 233 #define B2 191 #define mod1 10000000007 #define mod2 10000000009 using namespace std; int N; string s; setpairint, int st; int gethash(string s, int B, int mod) { int ans 0; for (int i 0; i s.size(); i) { ans (ans * B s[i]) % mod; } return ans; } signed main() { scanf(%lld, N); while (N--) { cin s; st.insert({gethash(s, B1, mod1), gethash(s, B2, mod2)}); } printf(%lld, (int)(st.size())); }二、Trie1.时间复杂度O(Σlen)2.思路(1)每次更新时一直找到与新字符串的前缀不相同的位置然后在后面按后缀依次排开;(2)该过程中每次访问到一个节点就将以至该节点为止为前缀的串的个数加一(3)查询时找到所输入字符串前缀在Trie中的末端输出所记录的串的个数。3.代码如下#include bits/stdc.h #define int long long using namespace std; int T, n, q, idx, ans[3000010], a[3000010][62]; string s; int sep(char c) { if (c 0 c 9) return c - 0; else if (c a c z) return c - a 10; else return c - A 36; } void insert(string s) { int pos 0; for (int i 0; i (int) s.size(); i) { int c sep(s[i]); if (!a[pos][c]) a[pos][c] idx; pos a[pos][c]; ans[pos]; } } int query(string s) { int pos 0; for (int i 0; i (int) s.size(); i) { int c sep(s[i]); if (!a[pos][c]) return 0; pos a[pos][c]; } return ans[pos]; } signed main() { scanf(%lld, T); while (T--) { idx 0; scanf(%lld%lld, n, q); for (int i 1; i n; i) { cin s; insert(s); } for (int i 1; i q; i) { cin s; printf(%lld\n, query(s)); } for (int i 0; i idx; i) for (int j 0; j 62; j) a[i][j] 0; for (int i 0; i idx; i) ans[i] 0; } }三、Manacher1.时间复杂度O(n)2.思路(1)将原串中首尾和每两个字符之间随意插一个符号避免回文串长度为偶的讨论(2)维护一个maxr和相应的mid表示之前所扩展到的所有回文子串的最右边及其对应的中心点(3)对于每次遍历如果该位置在maxr左边则将其对应的左端的长度与该位置到maxr的长度取最小值如果在右边则初始化为1(4)扩展更新。3.代码如下#include bits/stdc.h #define int long long using namespace std; string s1, s; int n, maxr 0, mid 0, maxx 0, p[22000010]; signed main() { cin s1; s #; for (int i 0; i (int)s1.size(); i) { s.push_back(s1[i]); s.push_back(#); } n (int) s.size(); for (int i 0; i n; i) { if (maxr i) p[i] min(p[mid * 2 - i], maxr - i 1); else p[i] 1; while (i - p[i] 0 i p[i] n s[i - p[i]] s[i p[i]]) p[i]; if (i p[i] - 1 maxr) { maxr i p[i] - 1; mid i; } maxx max(maxx, p[i] * 2 - 1); } printf(%lld, maxx / 2); }
FAT32、NTFS、exFAT 终极对决!
每次插入U盘,系统弹出“是否格式化”,面对FAT32、NTFS、exFAT三个选项,你是不是闭着眼睛随便选?其实选错格式,轻则传输慢如蜗牛,重则大文件无法拷贝,甚…
📅 2026/7/18 23:44:41
一、穿透式监管倒逼尽调模式智能化升级当前国资委推行穿透式监管,要求国央企对各级子企业、供应商、经销商等全部合作方开展常态化动态尽调、审计留痕,且落实终身追责机制,企业对合作方风险核查的全面性、时效性、可追溯性要求大幅提升。传统…
📅 2026/7/18 23:44:41
最近很多二本会计同学投简历投到怀疑人生,尤其是看到岗位写着本科以上、财会相关、熟练Excel,结果一问薪资才4K-6K。我也是小镇做题家一路卷过来的,身边会计、审计、财务、数据岗的朋友不少,坑也见过不少。今天就用学长视角讲讲会…
📅 2026/7/18 23:44:41
哎,说实话,一晃眼都过去好些年了。今天突然翻到以前的笔记,看到“GEO 2018 双鱼”这几个字,心里头咯噔一下。那时候的日子,真是又迷茫又精彩,现在回想起来,跟做梦似的。咱也不整那些虚头巴脑的星座分析大道理。我就以过来人的身份,跟大伙儿唠唠那会儿的真实感受。你要是…
📅 2026/7/19 1:39:35
1. 外包项目开发的现状与挑战最近几年,我陆续接手过不少外包开发项目,从简单的企业官网到复杂的SaaS系统都有涉猎。在这个过程中,我发现外包开发这个看似简单的商业模式,实际操作起来却处处是坑。很多开发团队在接外包项目时&…
📅 2026/7/19 1:39:34
本文解析 ImportantDays 项目中的 Constants.ets 常量文件,探讨枚举定义、接口设计、常量管理策略,以及如何通过集中的类型系统提升代码可维护性和类型安全性。 一、Constants 文件的定位
Constants.ets 是项目的"类型字典",集中定…
📅 2026/7/19 1:39:34
1. 2015年最值得关注的15篇数据科学文章解析数据科学在2015年迎来了关键转折点,这一年涌现了大量影响深远的文章,为从业者指明了方向。作为经历过那个时期的实践者,我想带大家回顾这些经典内容,并分享它们对行业产生的持久影响。当…
📅 2026/7/19 1:39:34
1. 项目概述:这不是一次“部署上线”,而是一场从实验室到产线的系统性迁移“From Notebook to Production: Running ML in the Real World (Part 4)”——这个标题里藏着一个被无数数据科学家反复咀嚼、又悄悄回避的真相:Jupyter Notebook 从…
📅 2026/7/19 1:39:34
1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…
📅 2026/7/19 0:00:51
1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…
📅 2026/7/19 0:00:51
更多请点击:
https://intelliparadigm.com
第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…
📅 2026/7/19 0:00:51
1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…
📅 2026/7/19 0:00:51
1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…
📅 2026/7/19 0:00:51
更多请点击:
https://intelliparadigm.com
第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…
📅 2026/7/19 0:00:51
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/18 7:01:02
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/18 17:01:33
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/18 5:00:56