摘要:
二分这个最大长度,设当前二分中点为 $k$。 把所有长度为 $k$ 的子串算出来,扔进哈希表里。 然后如果某哈希值的出现次数 $\ge m$,则 $k$ 合法。 复杂度 $O(n\log n)$,可以过掉。 #include <cstdio> #include <cstring> #include 阅读全文
摘要:
二分这个最大长度,设当前二分中点为 $k$。 把所有长度为 $k$ 的子串算出来,扔进哈希表里。 然后如果某哈希值的出现次数 $\ge m$,则 $k$ 合法。 复杂度 $O(n\log n)$,可以过掉。 #include <cstdio> #include <cstring> #include 阅读全文
摘要:
$\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 阅读全文
摘要:
基本就是 CF558E。 注意到字符集很小,考虑维护出区间每个字母出现次数,然后直接重排。 显然,若出现奇数次的字母 $>1$ 个,则无法操作。 按字典序依次重排,如果剩下一个出现奇数次的字母就放在中间。 区间覆盖区间查询,线段树维护。 #include <cstdio> #include <cct 阅读全文
摘要:
权值线段树。 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$ 则 阅读全文