03 2023 档案
摘要:第 300300300 篇题解当然要写个有意思的题。 lxl 给出的标答是根号分治,不过也有序列分块的做法,只不过非常需要卡常。 我们先对序列分块。接着我们考虑怎么处理询问。 显然询问的结果有两种: 在块内的答案。这种可以通过预处理 disi,j,kdis_{i,j,k}disi,j,k 表示第
阅读全文
摘要:什么板子能评 230023002300。 建完 SAM,对于每一个点,其表示字符串个数为 lenu−lenfaulen_u - len_{fa_u}lenu−lenfau,出现次数可以通过 link\operatorname{link}link 边,即后缀链接线性求出,也是套路了。 然后算贡
阅读全文
摘要:SP1693 COCONUTS - Coconuts 算法:网络流,最小割。 难度:提高+/省选-。 考虑对于所有 111 的从 SSS 连边,所有 000 的往 TTT 连边。朋友之间连一条无向边。删掉朋友之间的一条边相当于看法不一致的一对朋友,删掉每个点和其所连的源点或汇点,相当于与自己想法不一
阅读全文
摘要:容易发现 LLL 是可以二分的。 接着考虑二分如何 check。 比较容易思考的思路是 DP,设 fif_ifi 表示前 iii 个字符的熟悉子串最长的长度之和。设当前二分的是 LLL,那么 fi=max{fi−1,maxj∈[i−maxleni,i−L]fj+(i−j)}f_i = \max
阅读全文