摘要:
题目传送门 思路 先看数据范围,我们发现两个字符串的长度最大会达到 \(5 \times 10^7\)。 这立刻打消了我用暴力的想法。 于是,我选择了用 KMP 模式匹配,这一个能够在线性时间内判定字符串 \(A\) 是否是字符串 \(B\) 的字串,并求出字符串 \(A\) 在字符串 \(B\) 阅读全文
摘要:
KMP模式匹配 KMP 算法能够在线性时间内判定字符串 \(A\left[1\sim N\right]\) 是否是字符串 \(B\left[ 1 \sim M\right]\) 的字串,并求出字符串 \(A\) 在字符串 \(B\) 中各次出现的位置。 详细来讲,KMP 算法分为两步。 对字符串 \ 阅读全文
摘要:
题目传送门 思路 首先我们需要依据输入来建立一棵树并将 \(d\) 数组求出来,此操作我们可以用链式前向星来存树,然后 dfs 算出 \(d\) 数组。 接着我们需要把题目上给我们的式子推出来: \[\operatorname{f}\left(a, b, c \right) = \left(a - 阅读全文