HDU 5510 Bazinga (2015沈阳站B题&&KMP)
分析:从后往前扫,维护rr(当前串是第rr个串的子串)。预处理,从后往前扫,每次比较相邻的两个串,前面的串是不是后面串的子串,如果不是那么rr向后面找到第一个是子串的位置。记录下当前串的位置。从当前串向前扫,如果当前串不是r的子串,那么r++r++,找到第一个是子串的位置,否则,l−−l--。复杂度:o(nl)o(nl)代码:#include <bits/stdc++.h>
#define LL l
原创
2015-11-08 12:46:47 ·
701 阅读 ·
0 评论