Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,29 @@
|
|||
def optim4(a):
|
||||
global u
|
||||
n = len(a) - 1
|
||||
u = [None] * n
|
||||
u[0] = [[None, 0]] * n
|
||||
for j in range(1, n):
|
||||
v = [None] * (n - j)
|
||||
for i in range(n - j):
|
||||
m = None
|
||||
for k in range(j):
|
||||
s1, c1 = u[k][i]
|
||||
s2, c2 = u[j - k - 1][i + k + 1]
|
||||
c = c1 + c2 + a[i] * a[i + k + 1] * a[i + j + 1]
|
||||
if m is None or c < m:
|
||||
s = k
|
||||
m = c
|
||||
v[i] = [s, m]
|
||||
u[j] = v
|
||||
def aux(i, j):
|
||||
s, c = u[j][i]
|
||||
if s is None:
|
||||
return i
|
||||
else:
|
||||
return [aux(i, s), aux(i + s + 1, j - s - 1)]
|
||||
return u[n - 1][0][1], aux(0, n - 1)
|
||||
|
||||
|
||||
print(optim4([1, 5, 25, 30, 100, 70, 2, 1, 100, 250, 1, 1000, 2]))
|
||||
print(optim4([1000, 1, 500, 12, 1, 700, 2500, 3, 2, 5, 14, 10]))
|
||||
Loading…
Add table
Add a link
Reference in a new issue