上一页 1 2 3 4 5 6 ··· 11 下一页
摘要: 一些乱搞 众所周知,实际上大部分字符串算法都可以通过二分加哈希来替代,比如“马拉车”。 不止是这样,有些时候传统算法做起来比较困难,反而一些乱搞更加高效。 Bitset与串的匹配 闲话 仅仅讨论单文本串的情况。 如果模式串给定,求其在文本串中出现的位置,那么就根据模式串集合构建一个 AC自动机。 如 阅读全文
posted @ 2025-05-09 01:15 Hanggoash 阅读(9) 评论(0) 推荐(0)
摘要: 字符串算法与自动机 前言 觉得字符串这个东西本身应该有一个非常系统的体系,但是之前的学习一直都是零散的。 自动机 先说说什么是自动机,其实在OI Wiki上面已经十分完备了,这里以自己的理解再总结一遍。 自动机是一种数学模型,它所针对的对象是 “信号序列”,也就是一串 具有顺序 的信号,在 OI 方 阅读全文
posted @ 2025-04-29 21:39 Hanggoash 阅读(18) 评论(0) 推荐(0)
摘要: CF2096D 题解 题意忘了就点进 CF 里面看,总之就是非常人类智慧。 分析 没有任何头绪,甚至搜索都没办法写。就像求积分一样,你可以很轻松地从 \(A\) 到 \(B\),但是从 \(B\) 到 \(A\) 却是一个非常 NP 的过程,这种问题通常都是无从下手的,也只能说做一道积累一道的经验。 阅读全文
posted @ 2025-04-27 10:45 Hanggoash 阅读(52) 评论(0) 推荐(0)
摘要: 整除分块 以 \(\lfloor\frac{n}{i}\rfloor\) 的值将整数分组,前提是按照整除分组之后在同一组的数字,其产生的贡献相同。 Template inline void calc() { for(int l=1,r;l<=n;l=r+1) { int val=n/l; r=n/v 阅读全文
posted @ 2025-04-23 11:25 Hanggoash 阅读(30) 评论(0) 推荐(0)
摘要: Manacher 学习笔记 问题 求出串 \(s\) 中最长回文串的长度。 分析 数据范围不大的情况下,估计还是可以哈希加二分解决。 但是严格线性的算法还是更加优秀的。 字符串这几个基础算法绕来绕去实际上就是一个自动机的思想,我当前想要计算某个答案,于是看看之前的答案是否能有帮助。 首先定义 \(r 阅读全文
posted @ 2025-04-12 17:57 Hanggoash 阅读(15) 评论(0) 推荐(0)
摘要: 01Trie 结合板子 CF2093 来说 实际上和普通的字典树没有过多的区别,最大的区别在于操作的对象不同。 字典树是统计单词出现的数量。 01Trie是把数值转换成 \(01\) 串,从而在某种意义上将整数的比较和字典序联系起来,不难想到,这样一个数据结构可以做到平衡树能够做的大部分事情,并且可 阅读全文
posted @ 2025-04-10 17:07 Hanggoash 阅读(18) 评论(0) 推荐(0)
摘要: 全区间MEX问题 补 CF2084E 的时候,产生了这样的思考,为什么能想到这么做?所以顺便写下了这篇文章。 这里先从简单的问题引入。 P1 给定一个 \([0,n-1]\) 的排列,询问所有子区间的 \(\text{MEX}\) 的和。 形式化的,求 \(\sum_{L=1}^n\sum_{R=L 阅读全文
posted @ 2025-04-10 10:48 Hanggoash 阅读(126) 评论(0) 推荐(0)
摘要: 数位DP学习笔记 22年学习这部分内容的时候阳了,网课基本没听,省赛也很少考查这部分内容,于是一直荒废到现在,直到它出现在 2025年校赛网络预选赛的最后一道题,这才又把之前的例题重新做一遍,顺便学习一下数位 DP 这方面的内容。 总结在前 数位DP这种算法主要的适用情况: 计算某种数字有多少个(计 阅读全文
posted @ 2025-04-05 18:41 Hanggoash 阅读(37) 评论(0) 推荐(0)
摘要: Tarjan 学习笔记 题外话 Tarjan 真的是算法领域的神 下文基本上摘抄于 OI Wiki,大概率有雷同 理解所有 Tarjan 算法,最关键的地方在于把图当做一个 dfs 树看待,然后就能够直观地感受出“边”的类别。 应用 求有向图中的强连通分量 求割点 强连通分量 2-SAT 算法分析 阅读全文
posted @ 2025-03-24 19:48 Hanggoash 阅读(23) 评论(0) 推荐(0)
摘要: CF2075D 题解 除法下取整,背包。 题意 给定 \(x\) 和 \(y\) ,可以进行若干次操作,每一次操作选择一个任意的正整数 \(k\),将 \(x\) 和 \(y\) 中的任意一者变成 \(\lfloor \frac{t}{2^k}\rfloor\),单次代价为 \(2^k\),并且每一 阅读全文
posted @ 2025-03-19 11:09 Hanggoash 阅读(44) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 ··· 11 下一页
动态线条
动态线条end