摘要: 二分这个最大长度,设当前二分中点为 $k$。 把所有长度为 $k$ 的子串算出来,扔进哈希表里。 然后如果某哈希值的出现次数 $\ge m$,则 $k$ 合法。 复杂度 $O(n\log n)$,可以过掉。 #include <cstdio> #include <cstring> #include 阅读全文
posted @ 2023-03-20 08:41 5k_sync_closer 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 二分这个最大长度,设当前二分中点为 $k$。 把所有长度为 $k$ 的子串算出来,扔进哈希表里。 然后如果某哈希值的出现次数 $\ge m$,则 $k$ 合法。 复杂度 $O(n\log n)$,可以过掉。 #include <cstdio> #include <cstring> #include 阅读全文
posted @ 2023-03-20 08:40 5k_sync_closer 阅读(6) 评论(0) 推荐(0) 编辑
摘要: $\operatorname{LCP}(a,b)\ge k\Leftrightarrow$ $\forall i\le k,a_i=b_i$。 维护出每个后缀 $s_i$ 长度为 $k$ 的前缀 $a_i$。 然后就是数区间 $a_i$ 相同对数,莫队维护。 $\sqrt{n^2m}=n\sqrt 阅读全文
posted @ 2023-03-20 08:34 5k_sync_closer 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 基本就是 CF558E。 注意到字符集很小,考虑维护出区间每个字母出现次数,然后直接重排。 显然,若出现奇数次的字母 $>1$ 个,则无法操作。 按字典序依次重排,如果剩下一个出现奇数次的字母就放在中间。 区间覆盖区间查询,线段树维护。 #include <cstdio> #include <cct 阅读全文
posted @ 2023-03-20 08:27 5k_sync_closer 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 权值线段树。 finally let's find the minimum among counted maximums. 最大值最小。二分。设当前二分中点为 $k$。 容易发现 $h_i\le k$ 的试管才会造成贡献,若 $\sum\limits_{h_i\le k}k-h_i\ge v$ 则 阅读全文
posted @ 2023-03-20 08:23 5k_sync_closer 阅读(8) 评论(0) 推荐(0) 编辑