CPLib.String
Defined in cp-library@0.5.3
Values
namespace CPLib.String
calc_lcp_array
Type: Std::Array Std::I64 -> Std::String -> Std::Array Std::I64
文字列のLCP arrayを計算する
Returns
長さs.get_size - 1
の配列lcp
で、lcp.@(i)
はs[sa.@(i)..)
とs[sa.@(i+1)..)
の最長共通接頭辞の長さを表す。
Parameters
sa
: 対象の文字列のsuffix arrays
: 対象の文字列
calc_lcp_array_any
Type: [a : Std::Eq] Std::Array Std::I64 -> Std::Array a -> Std::Array Std::I64
配列のLCP arrayを計算する
Returns
長さs.get_size - 1
の配列lcp
で、lcp.@(i)
はs[sa.@(i)..)
とs[sa.@(i+1)..)
の最長共通接頭辞の長さを表す。
Parameters
sa
: 対象の配列のsuffix arrays
: 対象の配列
calc_suffix_array
Type: Std::String -> Std::Array Std::I64
文字列のsuffix arrayを計算する
注:現在はSA-ISではなくダブリングで実装されているため、計算量はO(n (log n)^2)です。
Returns
[0, 1, ..., s.get_size)
の順列sa
で、任意のi
についてs[sa.@(i)..) < s[sa.@(i+1)..)
が成り立つもの
Parameters
s
: 対象の文字列
calc_suffix_array_any
Type: [a : CPLib.String::EmbedToI64] Std::Array a -> Std::Array Std::I64
配列のsuffix arrayを計算する
注:現在はSA-ISではなくダブリングで実装されているため、計算量はO(n (log n)^2)です。
Returns
[0, 1, ..., s.get_size)
の順列sa
で、任意のi
についてs[sa.@(i)..) < s[sa.@(i+1)..)
が成り立つもの
Parameters
s
: 対象の配列
calc_z_array
Type: Std::String -> Std::Array Std::I64
文字列のZ-arrayを計算する
Returns
長さs.get_size
の配列z
で、z.@(i)
はs[i..)
とs.[0..)
の最長共通接頭辞の長さを表す。
Parameters
s
: 対象の文字列
calc_z_array_any
Type: [a : Std::Eq] Std::Array a -> Std::Array Std::I64
配列のZ-arrayを計算する
Returns
長さs.get_size
の配列z
で、z.@(i)
はs[i..)
とs.[0..)
の最長共通接頭辞の長さを表す。
Parameters
s
: 対象の配列
namespace CPLib.String::EmbedToI64
embed
Type: [a : CPLib.String::EmbedToI64] a -> Std::I64
Types and aliases
Traits and aliases
namespace CPLib.String
trait a : EmbedToI64
method embed
Type: a -> Std::I64