[解決済み] n log n = c の計算方法
2022-02-16 23:36:29
質問事項
アルゴリズムの授業で、O(n log n) アルゴリズムを用いて与えられた演算回数で解くことのできる問題の最大サイズを計算せよ、という宿題があります (つまり、n log n = c) 。 私は近似することによって答えを得ることができましたが、正確な答えを得るためのきれいな方法はありますか?
解答方法を教えてください。
この方程式には閉じた形の公式はありません。基本的には、式を変形すればよい。
n log n = c
log(n^n) = c
n^n = exp(c)
すると、この方程式は、次のような形の解を持つ。
n = exp(W(c))
ここで、Wは
Lambert W関数
(特に例2参照)。このとき、次のことが証明されました。
W
を初等演算で表現することはできない。
しかし
f(n)=n*log(n)
は単調関数です。単純にbisection(ここではpython)を使えばいいのです。
import math
def nlogn(c):
lower = 0.0
upper = 10e10
while True:
middle = (lower+upper)/2
if lower == middle or middle == upper:
return middle
if middle*math.log(middle, 2) > c:
upper = middle
else:
lower = middle
関連
-
[解決済み] LaTeX: 数学モードで3行をスタックする
-
[解決済み] tf.truncated_normalとtf.random_normalの違いは何ですか?
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] NaN値をチェックするにはどうすればよいですか?
-
[解決済み] 簡単な面接問題が難しくなった:1~100の数字が与えられたとき、ちょうどk個の数字が欠けていることを見つけなさい。
-
[解決済み] JavaScriptで整数の除算を行い、余りを別途取得する方法は?
-
[解決済み] 2つの緯度経度点間の距離を計算する?(ハバーシンの公式)
-
[解決済み】「エントロピーと情報利得」って何?
-
[解決済み】なぜ10進数は2進数で正確に表現できないのですか?
-
[解決済み] 複数の緯度経度座標ペアの中心点を計算する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】直線x=2, y=3, 3x+2y=6で形成される三角形の点での直心を求める方法とは?[クローズド]。
-
[解決済み] 回帰式 T(n) = 2T(n/2) + Θ(1) を代入して解きます。
-
[解決済み] 算術オーバーフローと算術キャリーの比較
-
[解決済み] n log n = c の計算方法
-
[解決済み] Mathematica の行列対角化
-
[解決済み] バイトからメガバイトへの変換
-
[解決済み] 初心者の言葉で「NaN(Not a Number)」とは何か?[クローズド]
-
[解決済み】ポリゴンの点のリストが時計回りに並んでいるかどうかを判断する方法は?
-
[解決済み】円内のランダムな点を生成する(一律)。
-
[解決済み] 標準的な正規化ではなく、なぜソフトマックスを使用するのですか?