摘要: 字典树 Trie —— 常用操作笔记 节点:son[26],end标记单词结尾,cnt经过次数 #include<bits/stdc++.h> using namespace std; const int N=1e6+5; int tr[N][26]; int cnt[N]; //经过该节点的串数量 阅读全文
posted @ 2026-10-20 18:30 事事随风散 阅读(2) 评论(0) 推荐(0)
摘要: ![image](https://img2024.cnblogs.com/blog/3861468/202610/3861468-20261020153111272-622274527.png) ![image](https://img2024.cnblogs.com/blog/3861468/202610/3861468-20261020153142863-584535709.png) 阅读全文
posted @ 2026-10-20 16:03 事事随风散 阅读(3) 评论(0) 推荐(0)
摘要: 字典树基础知识点 字典树 (Trie):存储字符串的树形结构,根节点无字符,边代表单个字符。从根走到某个节点,路径上字符拼接成一个字符串。 适用场景:字符集小(数字、小写字母),快速求前缀相关问题。 节点结构 son []:子节点编号,son [x]=0 代表子节点不存在 cnt:记录有多少字符串经 阅读全文
posted @ 2026-10-20 15:55 事事随风散 阅读(3) 评论(0) 推荐(0)
摘要: 题意:n 个 9 位电话号码。对每个号码,找最短连续子串,满足:只有当前这个号码包含该子串,别的号码都没有。 核心思想 任意字符串的任意子串,一定是它某个后缀的前缀。 例:串 100123456,子串 01,它是后缀 0123456 的前缀。 那我们把每个号码全部后缀插到字典树。字典树上一条路径,就 阅读全文
posted @ 2026-10-20 15:45 事事随风散 阅读(4) 评论(0) 推荐(0)
摘要: 题目大意 给定多组测试数据,每组先给若干数字字符串插入字典树,再查询若干字符串,输出以该字符串为前缀的字符串数量。 代码核心思路:字典树(Trie) 数组定义 const int N=3000010; int a[N][122]; // a[u][r]:字典树节点u,字符r对应的子节点编号 int 阅读全文
posted @ 2026-10-20 14:56 事事随风散 阅读(1) 评论(0) 推荐(0)
摘要: 题目大意 给定数组长度 n 和整数 k,统计满足两个条件的子数组数目: 子数组的和对 k 取模等于 0; 子数组长度至少为 k+1。 解题思路 核心是前缀和 + 同余性质 + 二分查找。 区间 [l,r] 的和可以用前缀和表示:sum = s [r] - s [l-1]。 若 sum mod k = 阅读全文
posted @ 2026-10-20 08:51 事事随风散 阅读(3) 评论(0) 推荐(0)
摘要: 本题就是一个常见的模拟题,## 题目大意 有 n 份文档,编号 (1,2,\dots,n),依次执行 n 条操作,字符串 s 的第 i 位对应第 i 号文档的操作: '1':将当前文档编号放入栈中; '2':打印栈顶文档;栈为空时,直接打印当前文档; '3':直接打印当前文档。 打印过的文档只需要标 阅读全文
posted @ 2026-10-20 08:45 事事随风散 阅读(3) 评论(0) 推荐(0)
摘要: 题目概要:给定两个数 (a,b),我们要找到最大的正整数 x,满足题目要求的关系式;如果不存在合法的 x,就输出 -1。 我的主要思路就是二分答案,关键是如何去check(),我的check思路如下: 题目把数字b拆成两段,一段长z、一段长q,两段要分别套不同系数,所以要用带余除法(整除 + 取模) 阅读全文
posted @ 2026-10-19 22:50 事事随风散 阅读(2) 评论(0) 推荐(0)