我写的是 SAM。
常规 SAM 时间复杂度 O(n)O(n)O(n) 空间复杂度 O(n∣Σ∣)O(n|\Sigma|)O(n∣Σ∣),MLE 28pts.
所以我写的 SAM 每个节点用链表存转移,每次暴力查找,时间复杂度 O(n∣Σ∣)O(n|\Sigma|)O(n∣Σ∣),空间复杂度 O(n)O(n)O(n)。
然而还是 MLE 56pts.
算了一下大概是 4⋅2000000⋅20220∼152.59 MB\dfrac{4\cdot2000000\cdot20}{2^{20}}\sim152.59\,\mathrm{MB}2204⋅2000000⋅20∼152.59MB,远没有达到内存限制。
不懂为什么 MLE 了,有没有人看看我是否算错了。
代码。我个人比较压行,所以有两份,一份是格式化之后不压行的。