Давайте рассмотрим ваше утверждение про k — что оно лежит в пределах [0, 2].
Есть последовательность чисел А = {17, 90, 19}, B = {42, 42, 42}
Средние арифметические у них равны.
Начнем Rmin(k)= |17k-42| + |90k — 42| + |19k-42|
Так как у нас используется модуль числа, будем оценивать их.
При 17k — 42 > 0, все остальные модули тоже будут иметь положительное значение, тогда
17k — 42 + 90k — 42 + 19k — 42 = 126k — 126; Теперь найдем значение k, при котором данное уравнение минимально, не забывая. что 17k — 42 > 0, k > 42/16 ~ 2,47.
То есть уже утверждение, что k лежит в пределах [0,2] вызывает сомнение.
Я сейчас могу очень сильно ошибиться, но вроде это как первое, что приходит в голову.
Подобные задачи мы решали через производные.
То есть чтобы найти значение k, при которой функция будет иметь минимальное значение — мы берем первую производную.
R'(a, b) = |k*a1 — b1| +… + |k*an — bn| = R'(a)? R'(b) = |k — b1| +… + |k — bn|? |k * a1| +… + |k * an|
? — не уверен какое действие должно стоять.
Что в итоге — да ничего нового, потому что нужно и a, и b привести к какой-нибудь функции и получить одну неизвестную. А у вас их две.
Aliance,
1. Вам приходится хранить данные об отрезках в которые попадают баннеры
2. Выбирать из отрезка рандомно баннер.
Вы выполняете в два раза больше работы, чем можно было бы.
Aliance, а как вы получите 0.6 randomом? Будете делить на 100? Так это та же методика, при которой требуется вводить коэффициент, что про баннер при цене 57 копеек.