会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
3
4
5
6
7
8
9
下一页
2024年7月31日
后缀数组
摘要: 基本概念 给你一个字符串 \(s\),对于所有 \(s\) 的后缀,我们按照字典序排序。最后输出排在 \(i\) 的后缀是原串里的第几个。 \(sa_i\) 指字典序排名第 \(i\) 的是第几个前缀。 \(O(n^2\log n)\) 直接找出所有后缀,排序。 \(O(n\log^2 n)\) 我
阅读全文
posted @ 2024-07-31 00:35 zxh923
阅读(23)
评论(0)
推荐(0)
2024年7月30日
AC自动机 提高篇
摘要: 文本生成器 首先考虑一个容斥,算出不包含任何一个单词的文章的数量。 我们设 \(dp_{i,j}\) 表示当前文章长度为 \(i\),最后一个字符在 \(AC\) 自动机上的 \(j\) 号点的方案数。我们要求的答案就是 \(\displaystyle 26^m-\sum_{i=0}^{idx}f_
阅读全文
posted @ 2024-07-30 00:28 zxh923
阅读(21)
评论(0)
推荐(0)
2024年7月29日
AC自动机 基础篇
摘要: AC 自动机1 前置知识:\(KMP\),字典树。 \(AC\) 自动机,不是用来自动 \(AC\) 题目的,而是用来处理字符串问题的(虽然确实可以帮助你 \(AC\))。 这里总结了 \(AC\) 自动机三大步骤。 插入 考虑字典树,我们直接把所有模式串插入到字典树内即可,这并不困难,代码: vo
阅读全文
posted @ 2024-07-29 00:53 zxh923
阅读(531)
评论(0)
推荐(0)
2024年7月28日
KMP
摘要: 基础 下文的字符串下标皆从 \(1\) 开始。 考虑定义一个数组 \(ne_i\),指的是设字符串 \(t\) 的前 \(i\) 位为 \(s\)。字符串 \(s\) 的前 \(ne_i\) 位与后 \(ne_i\) 位完全相同,且 \(ne_i\) 取到了最大值,并且 \(ne_i\) 不为字符串
阅读全文
posted @ 2024-07-28 20:28 zxh923
阅读(26)
评论(0)
推荐(0)
2024年7月27日
整体二分
摘要: 例题 MKTHNUM - K-th Number 考虑如果我们对每个操作进行二分怎么做。 显然是对这个区间不大于二分值 \(mid\) 的数统计个数,看个数 \(num\) 和 \(k\) 的大小关系。如果 \(num\) 更大,证明 \(mid\) 大了,如果 \(num\) 更小,证明 \(mi
阅读全文
posted @ 2024-07-27 12:37 zxh923
阅读(37)
评论(0)
推荐(0)
2024年7月26日
cdq分治 提高篇
摘要: 优化动态规划 序列 首先要会最长上升子序列的转移,这里就不说了。 我们 \(i\) 位置的初始值为 \(a_i\),可能变成的最大值为 \(mx_i\),可能变成的最小值为 \(mn_i\)。 然后如果 \(j\) 要转移到 \(i\),则需要满足:\(j<i,mx_j\le a_i,a_j\le
阅读全文
posted @ 2024-07-26 19:56 zxh923
阅读(30)
评论(0)
推荐(0)
2024年7月23日
cdq分治 基础篇
摘要: 简介 前置芝士:归并排序。 \(cdq\) 分治是个离线算法,可以解决三维偏序或者优化 \(dp\)。 陌上花开 维护三维偏序有个口诀:一维排序,二维归并,三维数据结构。 考虑第一维直接排序解决掉,然后还剩两维。 我们考虑第二维用归并排序解决掉。然后假设当前区间 \([l,r]\),区间中点 \(m
阅读全文
posted @ 2024-07-23 22:55 zxh923
阅读(246)
评论(0)
推荐(0)
2024年7月21日
NOI2024 集合 题解
摘要: 给个链接:集合。 很神秘的题目。基本上看到之后就可以想到哈希。 首先想到一个比较神秘的暴力。就是对于每个询问,扫一遍所有 \(a\) 中的数出现的位置,把它弄成一个哈希值(具体怎么弄随意)存到 set 里,然后看看是不是和 \(b\) 中的数出现的位置这样操作后的集合完全相等。事实上就是判断是否对于
阅读全文
posted @ 2024-07-21 12:24 zxh923
阅读(204)
评论(0)
推荐(0)
2024年7月19日
莫队 基础篇
摘要: 普通莫队 DQUERY - D-query 先想一下最朴素的暴力怎么写。显然可以用一个 \(cnt\) 数组记录每种元素的出现次数,然后如果这种元素是第一次出现,则增加答案,时间复杂度 \(O(nq)\)。 然后考虑如果如何用一个已经求出来答案的询问推出另外一个询问的答案。 显然我们要增加一部分数和
阅读全文
posted @ 2024-07-19 18:00 zxh923
阅读(22)
评论(0)
推荐(0)
2024年7月18日
CF208E 题解
摘要: Blood Cousins 前置知识:线段树合并。 我们先把题目转化一下。这里先设 \(v\) 的 \(p\) 级祖先为 \(u\),事实上要求的东西就是 \(u\) 的 \(p\) 级后代的个数减 \(1\),减 \(1\) 是因为要把自己减去。显然这个目标点 \(t\) 要满足两个要求: \(t
阅读全文
posted @ 2024-07-18 12:12 zxh923
阅读(17)
评论(0)
推荐(0)
上一页
1
···
3
4
5
6
7
8
9
下一页
公告