BZOJ 1692 [Usaco2007 Dec]队列变换 后缀数组
题目大意:给出一个包含大写字母的长度为n的字符串,每次可以从字符串的首或尾取出一个字符放在新串的末尾,输出字典序最小的新串当首尾相同时,找第一个不同的位置谁小取谁,然而复杂度是O(n)的。可以将正反串中间用符号隔开连在一起,求出后缀数组,这样取rank较小的就可以了#include <cstdio>#define max(a,b) ((a)>(b)?(a):(b))#define N 60005
原创
2017-04-17 18:45:13 ·
409 阅读 ·
0 评论