algo — C++23 日本語リファレンス GitHub

discrete_log_acted

関数 · モノイド作用に関する離散対数問題

template <class M, class U, class Key>
requires acts_on<M, U>
std::int64_t discrete_log_acted(const typename M::value_type &x, U s, U t, Key to_key, std::int64_t lb, std::int64_t ub);

概要

モノイド作用に関する離散対数問題

作用素モノイド M(合成 op・単位元 id・作用 f)の元 x について、 $x^n$ を状態 s に作用させた結果が t となる最小の n を $[lb, ub)$ から返す。 逆元を仮定しないモノイド作用で動く(標準的な離散対数・関数反復の合成などを含む)。

テンプレートパラメータ

名前 説明
M 作用素モノイド(acts_on<M, U> を満たすこと)
U 状態の型
Key 状態を単射に写すキー関数 U -> 整数等

戻り値

最小の n。存在しなければ -1。

計算量

関連項目