Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3, 4  След.
 Re: Задача на C#, не проходит по требуемому времени
photon в сообщении #1396680 писал(а):
Значения дедлайнов целочисленны и не так уж велики

Не факт что сами значения не велики (может быть Вася это бессмертная нейросеть).

 Re: Задача на C#, не проходит по требуемому времени
Аватара пользователя
_Ivana
Вам надо на APL писать.

-- 30.05.2019 20:37:13 --

feedinglight в сообщении #1396725 писал(а):
может быть Вася это бессмертная нейросеть

Или просто задачи и дедлайны размечены не в днях, а в минутах.

 Re: Задача на C#, не проходит по требуемому времени
Аватара пользователя
Кажется, нужна куча Фиббоначчиевых куч :mrgreen:

 Re: Задача на C#, не проходит по требуемому времени
Geen
Биномиальные проще и такие же быстрые как фибоначчиевые при не очень больших размерах, удаление всё равно медленное..

Походу быстрее $n \log n$ никак не сделать.

 Re: Задача на C#, не проходит по требуемому времени
Аватара пользователя
feedinglight в сообщении #1396745 писал(а):
Походу быстрее $n \log n$ никак не сделать.

Кажется, $n\log m$, где $m$ - количество выполненных задач...
И $m$ требуемой памяти

 Re: Задача на C#, не проходит по требуемому времени
Заметил вскоре после того, как запостил, но только сейчас добрался до компа и пишу рекламацию - мой алгоритм неверен, он жадный и глупый, а надо жадный и умный :-)

Munin в сообщении #1396729 писал(а):
_Ivana
Вам надо на APL писать.

Это специально, чтобы не было похоже на выкладывание готового решения :-)

 Re: Задача на C#, не проходит по требуемому времени
Аватара пользователя
Зачем тут фибоначчиевые кучи? Нужны только insert и getmin.

 Re: Задача на C#, не проходит по требуемому времени
В общем, я считал, что можно отсортировать работы в обратном порядке по дедлайну, а среди одинаковых дедлайнов - по цене, но так тоже не работает.

 Re: Задача на C#, не проходит по требуемому времени
blueboar2
Вроде так и есть.
Пусть самые поздние дедлайны $T_1$ и $T_2$, $T_1 < T_2$. Нужно разместить в промежутке $(T_1,T_2]$ самые дорогие задачи с дедлайном $T_2$. Если все не влезают, то оставшимся (искусственно) присвоить дедлайн $T_1$ (или же, если $T_1 = -1$, то просто выкинуть и завершить подсчёт). Соответственно, нужен контейнер с контейнерами. Фибоначиевы кучи подходят.

 Re: Задача на C#, не проходит по требуемому времени
Аватара пользователя
Представим случай, когда Вася ещё и мегапопулярен, и у него миллион предложений, но максимальный дедлайн, допустим, 10....

 Re: Задача на C#, не проходит по требуемому времени
Аватара пользователя
Не нужен контейнер с контейнерами.
Представим, что Вася - контрамот, каждая задача приходит к нему в день дедлайна, и то что он сделает ему нужно успеть сделать к первому дню. Тогда задача тривиально решается за одну сортировку по времени + проход с кучей.

 Re: Задача на C#, не проходит по требуемому времени
Аватара пользователя
mihaild в сообщении #1396889 писал(а):
за одну сортировку по времени

Вроде бы тоже не нужно...

 Re: Задача на C#, не проходит по требуемому времени
Аватара пользователя
Geen в сообщении #1396896 писал(а):
Вроде бы тоже не нужно...
То что мне пришло в голову требует перебирать задачи в порядке убывания дедлайна. Как сделать что-то аналогичное без сортировки по времени я не очень представляю - обнаружение задания с дедлайном в первый день и очень высокой оплатой может потребовать переделать всё расписание.

 Re: Задача на C#, не проходит по требуемому времени
blueboar2 в сообщении #1396541 писал(а):
Есть следующая задача:
Откуда этот пример?

 Re: Задача на C#, не проходит по требуемому времени
Аватара пользователя
mihaild в сообщении #1396900 писал(а):
может потребовать переделать всё расписание.

Ну, как бы, не всё, и вполне определённым образом... если я не ошибаюсь - я пока что в уме "программирую" :-)

 [ Сообщений: 52 ]  На страницу Пред.  1, 2, 3, 4  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group