上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 64 下一页
摘要: XXXIII.CF547E Mike and Friends 实际上是一道很蠢的问题。 我们直接在后缀数组上二分,求出所有拥有串$s_k$作为前缀的后缀所在的区间,则问题就被转换为某一区间中值在$[l,r]$范围内的数的个数。显然是二维数点问题,于是直接离线后树状数组解决。 代码: #include 阅读全文
posted @ 2021-04-01 11:22 Troverld 阅读(69) 评论(0) 推荐(0)
摘要: XXXII.CF1063F String Journey 题解 阅读全文
posted @ 2021-04-01 11:20 Troverld 阅读(27) 评论(0) 推荐(0)
摘要: XXXI.CF666E Forensic Examination 题解 阅读全文
posted @ 2021-04-01 11:18 Troverld 阅读(41) 评论(0) 推荐(0)
摘要: XXX.[CTSC2012]熟悉的文章 题解 阅读全文
posted @ 2021-04-01 11:16 Troverld 阅读(43) 评论(0) 推荐(0)
摘要: XXIX.CF700E Cool Slogans 题解 阅读全文
posted @ 2021-04-01 11:13 Troverld 阅读(37) 评论(0) 推荐(0)
摘要: XXVIII.[BZOJ3277]串/CF204E Little Elephant and Strings 这两题是重题,代码改都不改交上去就能A,故放在一起讲。 网上的大多数SA题解都是$O(n\log^2n)$或$O(n\log n)$的复杂度,太令人不爽了。因此,这里有一种复杂度$O(n)$的 阅读全文
posted @ 2021-04-01 11:10 Troverld 阅读(87) 评论(0) 推荐(0)
摘要: XXVII.[BZOJ4310]跳蚤 我们仍然考虑二分子串。设当前二分的子串从位置$pos$开始,长度为$len$。考虑如何编写check函数。 一个naive的想法便是从前往后枚举所有极大的不存在小于二分串的子串的段,然后将该段数与规定段数作比较。 但是这有点问题——我们发现,这样做每次都是为段中 阅读全文
posted @ 2021-04-01 11:08 Troverld 阅读(73) 评论(0) 推荐(0)
摘要: XXVI.SP7258 SUBLEX - Lexicographical Substring Search 在上一题中,我们二分了后缀;但这里,我们要二分的是子串。 我们设一个$sum_x$表示有多少本质不同子串的字典序小于等于$sa_i$。显然,它是单调增的。则我们可以二分找出$sum_x$小于询 阅读全文
posted @ 2021-04-01 11:06 Troverld 阅读(59) 评论(0) 推荐(0)
摘要: XXV.[JSOI2015]串分割 题解 阅读全文
posted @ 2021-04-01 11:05 Troverld 阅读(32) 评论(0) 推荐(0)
摘要: XXIV.CF123D String 没啥好说的,直接建出笛卡尔树出来,然后统计一下和即可。复杂度$O(n)$,假如你用DC3的话。 代码: #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N= 阅读全文
posted @ 2021-04-01 11:03 Troverld 阅读(66) 评论(0) 推荐(0)
上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 64 下一页