上一页 1 2 3 4 5 6 7 8 ··· 11 下一页
摘要: P3246 [HNOI2016] 序列 直到最后一步都是容易想到的,而最后一步恰是本题的关键所在。 首先看到 ST 表和莫队是容易想到的,那么有了莫队就应该考虑如何扩展区间。我们尝试把 \([l,r]\) 扩展到 \([l,r+1]\),发现需要知道 \(\min[l,r],\min[l+1,r], 阅读全文
posted @ 2025-02-26 21:07 Laoshan_PLUS 阅读(31) 评论(0) 推荐(0)
摘要: CF1582G Kuzya and Homework 首先容易知道的是 “仅含整数” 要想到分解质因数,然后 * 和 / 两种运算容易想到对每个质因数的出现次数进行 \(+1\) 和 \(-1\) 的操作。于是一个区间合法当且仅当所有质因数在这个区间内所有位置的出现次数大于等于 \(0\)。 然后考 阅读全文
posted @ 2025-02-25 17:50 Laoshan_PLUS 阅读(16) 评论(0) 推荐(0)
摘要: P4770 [NOI2018] 你的名字 久闻大名。 遇到毒瘤应当先梳理题意:形式化地,给定一个模板串 \(S\) 和若干个询问串 \(T\),求 \(T\) 有多少个本质不同的子串满足其不是 \(S\) 中某一区间 \([l,r]\) 的子串。 发现 \(l=1,r=|S|\) 这种情况出题人给了 阅读全文
posted @ 2025-02-24 18:18 Laoshan_PLUS 阅读(17) 评论(0) 推荐(0)
摘要: P4022 [CTSC2012] 熟悉的文章 容易发现,能和 SAM 搞在一起的东西还挺多的。 首先要求最大的 \(L\),显然这个 \(L\) 是满足单调性的:若 \(L\) 合法,则 \(L-1,L-2,\dots\) 都合法。所以考虑二分这个 \(L\)。 首先看到这个序列分段,应该想到经典的 阅读全文
posted @ 2025-02-24 17:38 Laoshan_PLUS 阅读(19) 评论(0) 推荐(0)
摘要: 回文自动机 PAM 约定字符串下标从 \(0\) 开始。 定义 回文自动机,又称回文树,是一种 2014 年才发表的新算法。顾名思义,回文自动机用于求解回文串问题。它相较于 Manacher 算法的优点在于支持在线修改且复杂度不变。 实现 回文自动机的关键技术可以概括为 “奇偶字典树 + 后缀链跳跃 阅读全文
posted @ 2025-02-24 17:22 Laoshan_PLUS 阅读(81) 评论(0) 推荐(0)
摘要: Manacher 下面的叙述中,约定字符串下标从 \(0\) 开始。 定义 Manacher 算法应用于一个特定场景:静态求一个字符串的最长回文子串。复杂度 \(O(N)\),是这种场景中效率最高的回文串算法。 首先考虑暴力法:枚举中心点,向左右扩展,判断它左右对称的位置是否相同。暴力法的复杂度上界 阅读全文
posted @ 2025-02-23 21:32 Laoshan_PLUS 阅读(34) 评论(0) 推荐(0)
摘要: P2178 [NOI2015] 品酒大会 题面啰唆,实际上所谓 “\(p\) 和 \(q\) 是 \(r\) 相似” 的意思就是以 \(p\) 开头的后缀和以 \(q\) 开头的后缀的前 \(r\) 个字符都是相等的。所以,\(\operatorname{LCP}(p,q)=r\) 实际上等价于 \ 阅读全文
posted @ 2025-02-23 20:39 Laoshan_PLUS 阅读(36) 评论(0) 推荐(0)
摘要: P2336 [SCOI2012] 喵星球上的点名 考虑后缀数组的常见套路:把所有串中间用奇怪字符拼在一起,记录每个位置上的字符是哪个文本串的,求出 \(\rm sa\) 和 \(\rm height\)。 看到子串,显然转化为后缀数组上的 LCP 问题。又由那条经典性质:\(\operatornam 阅读全文
posted @ 2025-02-23 20:22 Laoshan_PLUS 阅读(37) 评论(0) 推荐(0)
摘要: 后缀数组 SA 前置约定 字符串下标从 \(1\) 开始。 “后缀 \(i\)” 指字符串 \(s[i\dots n]\)。 定义 后缀数组(Suffix Array, SA)主要关系到两个数组:\(\text{sa}\) 和 \(\text{rk}\)。 其中 \(\text{sa}(i)\) 表 阅读全文
posted @ 2025-02-23 19:58 Laoshan_PLUS 阅读(43) 评论(4) 推荐(0)
摘要: CF939F Cutlet 题解 看了一眼竟没有思路,DP 还得再练啊。 首先容易发现正反面是对称的,所以可以钦定当前烤的永远是正面,然后可以设 \(f_{i,j}\) 表示烤到第 \(i\) 分钟、反面烤了 \(j\) 分钟的最小翻转次数。则有转移方程: \[f_{i,j}=\min\begin{ 阅读全文
posted @ 2025-02-23 19:49 Laoshan_PLUS 阅读(77) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 ··· 11 下一页