Skip to content

CPLib.String

Defined in cp-library@0.12.2

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 array
  • s : 対象の文字列

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 array
  • s : 対象の配列

calc_suffix_array

Type: Std::String -> Std::Array Std::I64

文字列のsuffix arrayを計算する

AtCoder Libraryのsuffix_arrayの移植です。

Returns

[0, 1, ..., s.get_size) の順列saで、任意のiについてs[sa.@(i)..) < s[sa.@(i+1)..) が成り立つもの

Parameters
  • s : 対象の文字列

calc_suffix_array_i64

Type: Std::Array Std::I64 -> Std::Array Std::I64

配列のsuffix arrayを計算する

AtCoder Libraryのsuffix_arrayの移植です。

Returns

[0, 1, ..., s.get_size) の順列saで、任意のiについてs[sa.@(i)..) < s[sa.@(i+1)..) が成り立つもの

Parameters
  • s : 対象の配列

calc_suffix_array_i64_upper

Type: Std::I64 -> Std::Array Std::I64 -> Std::Array Std::I64

配列のsuffix arrayを計算する

AtCoder Libraryのsuffix_arrayの移植です。

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 : 対象の配列

Types and aliases

Traits and aliases

Trait implementations