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
4319
Кажется, нужна куча Фиббоначчиевых куч :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
4319
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
8465
Цюрих
Зачем тут фибоначчиевые кучи? Нужны только 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
4319
Представим случай, когда Вася ещё и мегапопулярен, и у него миллион предложений, но максимальный дедлайн, допустим, 10....

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


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

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


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

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

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


16/07/14
8465
Цюрих
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
4319
mihaild в сообщении #1396900 писал(а):
может потребовать переделать всё расписание.

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

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

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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