05 2023 档案

摘要:待补 upd on 2023.11.6 鸽了半年来补这个学习笔记 起因是觉得自己点的技能点已经远远不够了,所以重新开始点技能点 之后希望所有学的内容都要写学习笔记以防自己忘了 Z 函数的定义:Z[i] 表示 s 本身与 si 开头的子串的最长公共前缀。同时规定 Z0=0 Z[aaaaa]={0,4, 阅读全文
posted @ 2023-05-11 08:45 1358id 阅读(69) 评论(0) 推荐(0) 编辑
摘要:描述:给出一个字符串s,将s循环移位若干次之后使得字符串的字典序最小。 朴素的思路:对于每一个位置为结果字符串的开头去暴力做。显然最坏复杂度O(|S|^2) 于是考虑优化这个过程。 假设对于不同的两个下表i和j,如果有s[i,i+1,..,i+k-1]=s[j,j+1,..,j+k-1]和s[i+k 阅读全文
posted @ 2023-05-09 20:01 1358id 阅读(14) 评论(0) 推荐(0) 编辑
摘要:题面 题意:给出字符串 s 和 t,每次操作将 s 中出现的第一个 t 删去,直到不能删为止。求最后的串。 |s|<=1e6 题解:hash 做法。(此题也有 kmp 和权值线段树做法) 因为涉及到删除操作,所以我们要动态的实现这个过程。所以考虑开一个栈来存储当前留下的字符。 然后每有一个字符入栈, 阅读全文
posted @ 2023-05-05 10:03 1358id 阅读(31) 评论(0) 推荐(0) 编辑
摘要:题面 题意:有两个字符串 a 和 b,问 b 中有多少个本质不同子串可以由 a 删除若干个字符得到。 |a|,|b|<=3000 题解:字典树(这个题做法很多,后补)。 把字符串 b 的每个子串打到字典树上。 然后因为 3000^2*26 这个东西比较大,所以不能用 nxt[id][26] 来存储, 阅读全文
posted @ 2023-05-05 09:31 1358id 阅读(13) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示