Что здесь помогает, чтобы не размножаться ни с одним из чисел, а писать все в терминах полномочий. Делать это все вручную, я получил следующее за первые несколько расширений:
T(n) = T((1/3)n) + T((2/3)n) + n^2
= T((1/3^2)n)
+ 2T((2/3^2)n)
+ T((2^2/3^2)n)
+ [n^2] #constants from the first expansion
+ [((1/3)n)^2 + ((2/3)n)^2] #constants from the second expansion
= T((1/3^3)n)
+ 3T((2/3^3)n)
+ 3T((2^2/3^3)n)
+ T((2^3/3^3)n)
+ [n^2]
+ [((1/3)n)^2 + ((2/3)n)^2]
+ [((1/3^2)n)^2 + ((2/3^2)n)^2 + ((2^2/3^2)n)^2] #constants from 3rd expansion
Это немного трудно сказать, но то, что, кажется, происходит то, что вы получаете биномиальных коэффициентов, идущие для T
с, где x
го расширения выглядит следующим образом:
T(n) = sum((x choose i) * T(((2^i)/(3^x))n), i from 0 to x)
+ constants
на каждом шаге, дополнительные константы, которые добавляются при расширении x
являются аргументами T
от расширения x-1
, квадрат, так как все они в конечном итоге получить в квадрат благодаря n^2
.Таким образом, все новая константа в данном разложении y
равна:
NewConsts(y) = sum(((y - 1) choose i) * (((2^i)/(3^(y-1)))*n)^2, i from 0 to y - 1)
И всех константы при расширении x
равна
n^2 + sum(NewConsts(y), y from 1 to x)
Итак, предполагая, что все вышесказанное является правильным , на что я не уверен на 100%, я думаю, вам нужно выяснить, когда константы перестают иметь значение, то есть для x
равно ((2^x/3^x) * n)^2)
, равным 0, и ваш ответ - сумма всех этих констант .. .
Вы можете использовать метод Akra-Bazzi, чтобы найти решение в первую очередь. –
Вы пытались найти это точное уравнение? – jamylak
Что такое 'T (0)'? 0? – Claudiu