第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何在不使用暴力和/或大量計(jì)算時(shí)間的情況下解決這個(gè)問(wèn)題?

如何在不使用暴力和/或大量計(jì)算時(shí)間的情況下解決這個(gè)問(wèn)題?

我正在嘗試解決以下問(wèn)題:A store sells large individual wooden letters for signs to put on houses. The letters are priced individually.The total cost of letters in LOAN is 17 dollars.The total cost of letters in SAM is 18 dollars.The total cost of letters in ANNA is 20 dollars.The total cost of letters in ROLLO is 21 dollars.The total cost of letters in DAMAGES is 30 dollars.The total cost of letters in SALMON is 33 dollars.How much would the letters in the name GARDNER cost?我使用以下 python 代碼強(qiáng)制執(zhí)行字母成本,但需要幾個(gè)小時(shí)才能收斂,因?yàn)樗鼈冇?33^10 個(gè)可能的組合來(lái)測(cè)試。我使用 n=33,因?yàn)樗敲Q(chēng)的最大成本,但確實(shí),n 可以減少到 15 甚至 10,但如果不保證它會(huì)收斂。def func(letters):    print letters    if letters['L']+letters['O']+letters['A']+letters['N'] != 17:        return False    elif letters['S']+letters['A']+letters['M'] != 18:        return False    elif 2*letters['A']+2*letters['N'] != 20:        return False    elif letters['R']+2*letters['O']+2*letters['L'] != 21:        return False    elif letters['D']+2*letters['A']+letters['M']+letters['G']+letters['E']+letters['S'] != 30:        return False    elif letters['S']+letters['A']+letters['L']+letters['M']+letters['O']+letters['N'] != 33:        return False    return Truedef run(letters, n, forbidden_letters):    for letter in letters.keys():        if letter not in forbidden_letters:            for i in range(1, n):                letters[letter] = i                if not func(letters):                    if letter not in forbidden_letters:                        forbidden_letters+=letter                    if run(letters, n, forbidden_letters):                        return letters                else:                    return lettersLETTERS = {    "L":1,    "O":1,    "A":1,    "N":1,    "S":1,    "M":1,    "R":1,    "D":1,    "G":1,    "E":1,}n=33print run(LETTERS, n, "")暴力破解最終會(huì)奏效,但它占用的 CPU 資源如此之多,以至于它肯定不是最佳解決方案。有沒(méi)有人有更好的解決方案來(lái)解決這個(gè)問(wèn)題?要么通過(guò)減少計(jì)算時(shí)間,要么通過(guò)良好的數(shù)學(xué)方法。謝謝大家。
查看完整描述

2 回答

?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊

這就是所謂的線(xiàn)性方程組。如果需要,您可以手動(dòng)解決這個(gè)問(wèn)題,但您也可以使用線(xiàn)性求解器。例如與同情


import sympy


l,o,a,n,s,m,r,d,g,e = sympy.symbols('l,o,a,n,s,m,r,d,g,e')


eq1 = l+o+a+n - 17

eq2 = s+a+m -18

eq3 = a+n+n+a -20

eq4 = r+o+l+l+o -21 

eq5 = d+a+m+a+g+e+s -30

eq6 = s+a+l+m+o+n- 33


sol, = sympy.linsolve([eq1,eq2,eq3,eq4,eq5,eq6],(l,o,a,n,s,m,r,d,g,e))

l,o,a,n,s,m,r,d,g,e = sol


print(g+a+r+d+n+e+r)

線(xiàn)性方程的求解速度非???。復(fù)雜度為 O(n 3 ),其中 n 是變量的數(shù)量。所以對(duì)于這樣一個(gè)小問(wèn)題,它幾乎是即時(shí)的。


查看完整回答
反對(duì) 回復(fù) 2021-12-08
?
MYYA

TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊

L + O + A + N - 17 = 0

S + A + M - 18 = 0

2 * A  + 2 * N - 20 = 0

等等。


嘗試制作一個(gè)矩陣,如:


 L O A N S M R D G E val

[1 1 1 1 0 0 0 0 0 0 -17 | 0] LOAN

[0 0 1 0 1 1 0 0 0 0 -18 | 0] SAM

[0 0 2 2 0 0 0 0 0 0 -20 | 0] ANNA

...

[0 0 1 1 0 0 2 1 1 2 -x | 0] GARDENER

現(xiàn)在您可以使用例如高斯方法來(lái)解決它。這將需要 O(n^3) 時(shí)間復(fù)雜度。


查看完整回答
反對(duì) 回復(fù) 2021-12-08
  • 2 回答
  • 0 關(guān)注
  • 231 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)