摘要: 将区间按照长度排序,每次将相同长度的区间插入,直到有一个点能被至少m个区间覆盖,这个可以用线段树维护。 这时我们就可以删除长度小的区间直到不满足条件。 重复做就可以了 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 # 阅读全文
posted @ 2018-07-02 21:44 大财主 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 建出SAM和后缀树 两个子串的最长lcp就是他们的lca 因此我们只需求出最长的个数然后用前缀和就能算出总个数,最大值也是同样的方法, 当然要逆序建SAM才能保证他们的第一位相同。 1 #include <iostream> 2 #include <cstdio> 3 #include <algor 阅读全文
posted @ 2018-07-02 21:40 大财主 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 经过一通复杂度分析后发现,只要暴力做就可以了 1 #include <iostream> 2 #include <cstdio> 3 #include <vector> 4 #include <cstring> 5 #include <algorithm> 6 #define LL long lon 阅读全文
posted @ 2018-07-02 21:35 大财主 阅读(248) 评论(0) 推荐(0) 编辑