string - shakayami/ACL-for-python GitHub Wiki
string
詰め合わせです。
suffix_array_upper
listに対してsuffix-arrayを求めます
suffix_array
stringに対してsuffix-arrayを求めます
lcp_array
lcp-array(Longest Common Prefix)を求めます。 呼び出す際には事前にsuffix_arrayのリストを持つことが要求されます。
z_algorithm
z配列を求めます。
使用例
(https://atcoder.jp/contests/practice2/tasks/practice2_i)
class string:
# (中略)
S=input()
sa=string.suffix_array(S)
answer=(len(S)*(len(S)+1))//2
for x in string.lcp_array(S,sa):
answer-=x
print(answer)