后缀
文章平均质量分 76
Tconan99
我要泡妹纸
展开
-
HDU 3518 Boring counting && 后缀数组
题意:每次给你一个字符串,问"子串不重叠出现至少两次"这样子串的个数。解法:先求后缀数组,sa 表示 第几个后缀,height[i]表示 sa[i-1]与sa[i]的最长公共前缀。之后就用for循环来寻找每一个长度的子串的个数:当height[i]>=len时,就更新最大右编号和最小左编号。反之则,判断右编号减去左编号是否大于等于len,如果大于就把ans++,最后给左编号和右编号赋初值。近乎原创 2013-10-18 17:35:34 · 592 阅读 · 0 评论 -
HDU 4080 Stammering Aliens && 后缀数组
题意:给你数字m和一个字符串,问你在字符串中至少出现m次的子串的最大长度,并输出子串最后出现的首字母的位置,如果长度相同时有多种情况取最后一次最靠后出现的那个。(没考虑这个,WA了好几天。我是弱渣渣~)解法:先求出后缀数组,然后二分长度,判断这个长度是否出现过m次,如果出现了m次 ,先判断长度是否是最大,再判断最后一个是否足够靠后。代码:#include#include#inc原创 2013-10-20 10:01:45 · 737 阅读 · 0 评论