2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4  След.
 
 Re: Задача на C#, не проходит по требуемому времени
Сообщение30.05.2019, 20:18 


16/04/19
161
photon в сообщении #1396680 писал(а):
Значения дедлайнов целочисленны и не так уж велики

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

 Профиль  
                  
 
 Re: Задача на C#, не проходит по требуемому времени
Сообщение30.05.2019, 20:36 
Заслуженный участник
Аватара пользователя


30/01/06
72407
_Ivana
Вам надо на APL писать.

-- 30.05.2019 20:37:13 --

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

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

 Профиль  
                  
 
 Re: Задача на C#, не проходит по требуемому времени
Сообщение30.05.2019, 20:41 
Заслуженный участник
Аватара пользователя


01/09/13
4324
Кажется, нужна куча Фиббоначчиевых куч :mrgreen:

 Профиль  
                  
 
 Re: Задача на C#, не проходит по требуемому времени
Сообщение30.05.2019, 21:11 


16/04/19
161
Geen
Биномиальные проще и такие же быстрые как фибоначчиевые при не очень больших размерах, удаление всё равно медленное..

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

 Профиль  
                  
 
 Re: Задача на C#, не проходит по требуемому времени
Сообщение30.05.2019, 21:31 
Заслуженный участник
Аватара пользователя


01/09/13
4324
feedinglight в сообщении #1396745 писал(а):
Походу быстрее $n \log n$ никак не сделать.

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

 Профиль  
                  
 
 Re: Задача на C#, не проходит по требуемому времени
Сообщение30.05.2019, 22:41 


05/09/12
2587
Заметил вскоре после того, как запостил, но только сейчас добрался до компа и пишу рекламацию - мой алгоритм неверен, он жадный и глупый, а надо жадный и умный :-)

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

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

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


16/07/14
8537
Цюрих
Зачем тут фибоначчиевые кучи? Нужны только insert и getmin.

 Профиль  
                  
 
 Re: Задача на C#, не проходит по требуемому времени
Сообщение31.05.2019, 06:21 


03/09/13
49
В общем, я считал, что можно отсортировать работы в обратном порядке по дедлайну, а среди одинаковых дедлайнов - по цене, но так тоже не работает.

 Профиль  
                  
 
 Re: Задача на C#, не проходит по требуемому времени
Сообщение31.05.2019, 08:33 


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

 Профиль  
                  
 
 Re: Задача на C#, не проходит по требуемому времени
Сообщение31.05.2019, 13:23 
Заслуженный участник
Аватара пользователя


01/09/13
4324
Представим случай, когда Вася ещё и мегапопулярен, и у него миллион предложений, но максимальный дедлайн, допустим, 10....

 Профиль  
                  
 
 Re: Задача на C#, не проходит по требуемому времени
Сообщение31.05.2019, 13:32 
Заслуженный участник
Аватара пользователя


16/07/14
8537
Цюрих
Не нужен контейнер с контейнерами.
Представим, что Вася - контрамот, каждая задача приходит к нему в день дедлайна, и то что он сделает ему нужно успеть сделать к первому дню. Тогда задача тривиально решается за одну сортировку по времени + проход с кучей.

 Профиль  
                  
 
 Re: Задача на C#, не проходит по требуемому времени
Сообщение31.05.2019, 14:18 
Заслуженный участник
Аватара пользователя


01/09/13
4324
mihaild в сообщении #1396889 писал(а):
за одну сортировку по времени

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

 Профиль  
                  
 
 Re: Задача на C#, не проходит по требуемому времени
Сообщение31.05.2019, 15:18 
Заслуженный участник
Аватара пользователя


16/07/14
8537
Цюрих
Geen в сообщении #1396896 писал(а):
Вроде бы тоже не нужно...
То что мне пришло в голову требует перебирать задачи в порядке убывания дедлайна. Как сделать что-то аналогичное без сортировки по времени я не очень представляю - обнаружение задания с дедлайном в первый день и очень высокой оплатой может потребовать переделать всё расписание.

 Профиль  
                  
 
 Re: Задача на C#, не проходит по требуемому времени
Сообщение31.05.2019, 16:12 


27/02/09
253
blueboar2 в сообщении #1396541 писал(а):
Есть следующая задача:
Откуда этот пример?

 Профиль  
                  
 
 Re: Задача на C#, не проходит по требуемому времени
Сообщение31.05.2019, 17:32 
Заслуженный участник
Аватара пользователя


01/09/13
4324
mihaild в сообщении #1396900 писал(а):
может потребовать переделать всё расписание.

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 52 ]  На страницу Пред.  1, 2, 3, 4  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: talash


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group