摘要: 求最长回文串 策略是枚举中心位置往两边拓展,这里要分长度为奇数、偶数的情况 n^2的复杂度无法接受,枚举中心后,这里用后缀数组来快速求回文长度 首先在字符串末尾插入一个未出现过的字符,目的是避免字符串翻转后拼接到末尾时的首部和原字符串末尾连接成新的后缀 比如说abac->abaccaba,这里的ac 阅读全文
posted @ 2016-03-02 23:36 Septher 阅读(458) 评论(0) 推荐(0)
摘要: 求满足下列要求的最长子串: 1.长度不小于5 2.出现两次(子串整体加上某个值也算出现一次 3.两次出现无重叠 难处理的是第二个要求:整体增加某个数也算出现一次 稍微思考一下便会得出:整体加上某个值后,相邻数的差值是不变的 所以用一个数组r[i]保存mus[i+1]与mus[i]的差值 这里要注意将 阅读全文
posted @ 2016-03-02 23:19 Septher 阅读(189) 评论(0) 推荐(0)
摘要: 居然想用后缀数组做。。。果然还是太弱了 直接暴力就好,sort的时候把拼接结果小的string放在前面 #include"cstdio" #include"queue" #include"cmath" #include"stack" #include"iostream" #include"algor 阅读全文
posted @ 2016-03-02 08:55 Septher 阅读(162) 评论(0) 推荐(0)