摘要: 题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4310 二分答案——在本质不同的子串中二分答案! 如果二分到的子串位置是 st,考虑何时必须分出一段; 如果一个位置 i 有 rk[i] < rk[st],那么显然不用管( i 后缀的开头); 阅读全文
posted @ 2018-12-07 20:15 Zinn 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3230 先算出每个后缀贡献子串的区间; 然后前缀LCP直接查询,后缀LCP二分长度,查询即可; 注意本质不同的子串的个数是 long long 级别!! 于是读入有 long long —— 快 阅读全文
posted @ 2018-12-07 17:17 Zinn 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4453 这种问题...一般先把询问离线,排序; 区间对后缀排名的影响在于一些排名大而位置靠后的后缀可能因为区间右端点截掉了后面而排名变小; 考虑如何影响:如果 i < j rk[i] > rk[ 阅读全文
posted @ 2018-12-07 15:42 Zinn 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 题目:https://www.luogu.org/problemnew/show/P5061 首先,“配合默契”就是连边的意思; 但发现答案不好统计,因为有连边的两个点可以分在一组,也可以不分在一组; 于是正难则反,因为没有连边的两个点一定不在一组,所以连成补图,二分图染色; 如果染色出现矛盾,就是 阅读全文
posted @ 2018-12-07 10:50 Zinn 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4104 一开始发现了给出的顺序是按这些末尾字符后面的后缀排序得到的; 然后发现可以一个一个把字符串补全; 因为首先知道所有单个字符,排序后就是那些串的第一位,和末尾连起来,得到 n+1 个二元组 阅读全文
posted @ 2018-12-07 09:02 Zinn 阅读(127) 评论(0) 推荐(0) 编辑