随笔分类 - 后缀数组
摘要:题目链接 "bzoj 1717: [Usaco2006 Dec]Milk Patterns 产奶的模式" 题解 后缀排序 求出height之后一段区间[l,r]内,出现r l+1次最长的串是$min(height[i]) l include include const int maxn = 6000
阅读全文
摘要:题目链接 "bzoj2251 [2010Beijing Wc]外星联络" 题解 求出height数组后 对与一个串的存在性 画出图来好理解一些,emmmmm,我就不画了 height[i+1]的值比height[i]要大,说明后缀i与后缀i 1的子串全部包含在i+1中 嗯,剩下的不好说辣,看代码理解
阅读全文
摘要:题目链接 "bzoj 1692: [Usaco2007 Dec]队列变换" 题解 首先像贪心 暴力为比较两个相反的串 贪心标准为以该字母开头,向左or向右的子串字典序大小,先弹小的 把串倒着接到串后边,求一边后缀排顺 然后从两端取rank[],比较小的先弹 c++ include include i
阅读全文
摘要:题目链接 "bzoj 1031: [JSOI2007]字符加密Cipher" 后缀数组裸题。 把字符串接到自己后面后直接排序。 输出结尾字符就好了QAQ / Problem: 1031 Language: C++ Result: Accepted Time:1588 ms Memory:21328
阅读全文
摘要:后缀数组 今天被老师 ~~强行~~ 灌输后缀数组 然后就看了下 在代码中写的注释是我对sa的一点理解 大概就是每次排序,都与倍增出来的第二关键字,与上一次更新出的sa[]作为第一关键字相关 有错误欢迎指出 3Q cpp include include include using std::swap;
阅读全文
摘要:题目背景 这是一道模板题。 题目描述 读入一个长度为 nn 的由大小写英文字母或数字组成的字符串,请把这个字符串的所有非空后缀按字典序从小到大排序,然后按顺序输出后缀的第一个字符在原串中的位置。位置编号为 11 到 nn。 输入输出格式 输入格式: 一行一个长度为 nn 的仅包含大小写英文字母或数字
阅读全文

浙公网安备 33010602011771号