Изменения

Перейти к: навигация, поиск

Convex hull trick

83 байта добавлено, 01:01, 18 января 2017
Реализация
==Реализация==
'''voidint''' Convex-hull-trick('''int''' a[], '''int''' c[], '''int''' n)
st[1] = 1
from[1] = -<tex>\infty</tex><font color=green>// первая прямая покрывает все x-ы, начиная с -∞ </font>
sz = sz + 1
}
} '''return''' dp[n]
Здесь функция divide(a, b) возвращает нужное(*) округление a / b. Приведем её код :
'''int''' divide ('''int''' a, '''int''' b)
delta = 0
'''if''' (a '''mod''' b ≠ 0) delta = 1
'''if''' ((a > 0 '''and''' b > 0) '''or''' (a < 0 '''and''' b < 0)) '''return''' [a / b] + delta
'''return ''' -[|a| / |b|]
Анонимный участник

Навигация