Size: a a a

F# Flood: Робин Бобин чат

2018 June 14

FC

Fail Cascade in F# Flood: Робин Бобин чат
можно написать функцию перехода в состояние n
источник

АУ

Анна Удовиченко in F# Flood: Робин Бобин чат
Nikolay M
Это перебором получается решение, так?
это называется динамическое программирование. Там не полный перебор будет, O(n*k), где n недель и k - максимум надо рабочих
источник

АУ

Анна Удовиченко in F# Flood: Робин Бобин чат
Оптимальная стоимость найма k рабочих на n-й неделе:
F(n, k) = min (F(n-1, k-m) + D(m)),
где m - разница в количестве рабочих, может быть отрицательной, аккуратно надо. n - номер недели. k - количество рабочих, D(m) - стоимость найма разницы. И не надо брать клетки, где рабочих меньше, чем запрос на текущую неделю.
источник

АУ

Анна Удовиченко in F# Flood: Робин Бобин чат
может быть, можно и проще, но это кажется сработает, только аккуратно написать
источник

NM

Nikolay M in F# Flood: Робин Бобин чат
Блин, это просто
источник

NM

Nikolay M in F# Flood: Робин Бобин чат
Но я не могу мысль уловить :D
источник

АУ

Анна Удовиченко in F# Flood: Робин Бобин чат
Nikolay M
Но я не могу мысль уловить :D
Сорри, у меня какое-то математическое костноязычие развилось
источник

NM

Nikolay M in F# Flood: Робин Бобин чат
источник

NM

Nikolay M in F# Flood: Робин Бобин чат
Типа такого?
источник

NM

Nikolay M in F# Flood: Робин Бобин чат
Анна Удовиченко
Сорри, у меня какое-то математическое костноязычие развилось
Не, я прост не очень умный
источник

FC

Fail Cascade in F# Flood: Робин Бобин чат
но ведь в случае, если мы нанимаем - мы платим 400 долларов сверху
источник

FC

Fail Cascade in F# Flood: Робин Бобин чат
а если увольняем - только содержание оставшимся
источник

АУ

Анна Удовиченко in F# Flood: Робин Бобин чат
Nikolay M
Типа такого?
Да, только мне трудно на ночь глядя числа проверять. Смысл в том, что нанять лишнего заранее может оказаться выгоднее. Поэтому ты для каждой следующей недели берешь возможные количества нанятых и пробуешь нанять ещё или уволить. И смотришь минимум
источник

FC

Fail Cascade in F# Flood: Робин Бобин чат
формулы получаются сильно разные
источник

NM

Nikolay M in F# Flood: Робин Бобин чат
Анна Удовиченко
Да, только мне трудно на ночь глядя числа проверять. Смысл в том, что нанять лишнего заранее может оказаться выгоднее. Поэтому ты для каждой следующей недели берешь возможные количества нанятых и пробуешь нанять ещё или уволить. И смотришь минимум
Ну да, эту фишку я понял
источник

NM

Nikolay M in F# Flood: Робин Бобин чат
Или уволить не всех
источник

FC

Fail Cascade in F# Flood: Робин Бобин чат
то есть для найма
400 + (n*200)
источник

NM

Nikolay M in F# Flood: Робин Бобин чат
Fail Cascade
то есть для найма
400 + (n*200)
Ну я примерно так и считаю
источник

NM

Nikolay M in F# Flood: Робин Бобин чат
По условию нихрена не понятно
источник

АУ

Анна Удовиченко in F# Flood: Робин Бобин чат
Fail Cascade
а если увольняем - только содержание оставшимся
Вот поэтому чтобы получить 5 на какой-то неделе, надо выбрать, что выгоднее, нанять три на прошлой и потом ещё два, или нанять семь на прошлой, а потом остальных на мороз
источник