摘要: 这是仙人掌的模板题,仙人掌不能有自环,但是可以有重边。多颗仙人掌组成的图叫做沙漠。将仙人掌的每个环缩成一个点之后,就会形成树 仙人掌转树要利用圆方树: ①.任选一个点为根 ②.此时每个环有且仅有唯一一个点到根的距离最近。然后将环中的点分类,离根节点最近的点叫“头”,剩余的点作为一类。接下来要将环变形 阅读全文
posted @ 2024-08-23 15:55 最爱丁珰 阅读(7) 评论(0) 推荐(0)
摘要: 先考虑没有修改操作,如何求不同的子串数量,这是后缀数组的经典应用。所有子串就是所有后缀的所有前缀。先将所有后缀按照字典序排序,然后求出\(height\)数组,从\(1\)循环到\(n\),对于排名为\(i\)的后缀来说,新增的后缀个数就是\(\text{len}[i]-height[i]\)(前者 阅读全文
posted @ 2024-08-23 09:36 最爱丁珰 阅读(9) 评论(0) 推荐(0)
摘要: 不难转化到\(\text{lcp}\):当\(r\)固定的时候,如果\(height[i]<r\)那么肯定不可能选择\((p,q)\),其中\(p<i<q\)。于是从大到小枚举\(r\)(这样子好维护最值),利用并查集合并区间,维护区间的大小以及最大值和最小值就好了(维护最值的原因见这道题目) 阅读全文
posted @ 2024-08-23 08:03 最爱丁珰 阅读(19) 评论(0) 推荐(0)