Форум Всеукраїнської інтернет-олімпіади NetOI


На форумі обговорюються лише питання, пов'язані з олімпіадою

Ви не зайшли.

#1 2006-12-01 18:12:07

kp
Новий користувач
Зареєстрований: 2006-12-01
Повідомлень: 4

Так узнать TimeLimit в задаче?

Где-то в правилах написано, что решения должны работать быстро. Но что значит быстро?
Задача Mayor у меня пол-секунды работает максимум и что это долго?
Так узнать TimeLimit в конкретной задаче?
Задача Mayor2 вообще при онлайн проверке всегда выдает 40, а в результатах 36 почему-то?

И еще как вы код на C++ компилируете? С ключем -O2 или нет?

Поза форумом

 

#2 2006-12-01 18:42:22

Журі NetOI-2006-Пасіхов
Адміністратор
Зареєстрований: 2006-09-09
Повідомлень: 126

Re: Так узнать TimeLimit в задаче?

kp написав:

Где-то в правилах написано, что решения должны работать быстро. Но что значит быстро?
Задача Mayor у меня пол-секунды работает максимум и что это долго?
Так узнать TimeLimit в конкретной задаче?
Задача Mayor2 вообще при онлайн проверке всегда выдает 40, а в результатах 36 почему-то?

И еще как вы код на C++ компилируете? С ключем -O2 или нет?

Почитайте внимательно форум, найдете ответы на все свои вопросы

Поза форумом

 

#3 2006-12-01 18:42:57

Fizteh
Новий користувач
Зареєстрований: 2006-09-17
Повідомлень: 99

Re: Так узнать TimeLimit в задаче?

У меня в задаче Mayor проходит на 40, а в результатах 35. Не знаю даже почему... Может ли быть TimeLimit из-за того, что я писал эту задачу на Питоне..? В проверке у меня максимальное время 0,09 с ! Уважаемое жури, авторское решение не на питоне? Или просто оно быстрее работает?

n = int(raw_input())
oldp = oldr = 0l
oldc = 1l
p = 2l
r = 1l
c = 3l
newp = newc = newr = 0l
i = 2
while (i<=n):
    newp = p+2*c+r+oldc+oldp
    newr = c+2*p+oldc+oldr
    newc = newp+newr+p+2*oldc+oldp
    oldc, oldr, oldp = c, r, p
    c, r, p = newc, newr, newp
    i = i+1
print c

Если кто-то разбирается, прошу прокомментировать в чем у меня проблема и есть ли она вообще..?

Поза форумом

 

#4 2006-12-01 18:57:16

kp
Новий користувач
Зареєстрований: 2006-12-01
Повідомлень: 4

Re: Так узнать TimeLimit в задаче?

Журі NetOI-2006-Пасіхов написав:

kp написав:

Где-то в правилах написано, что решения должны работать быстро. Но что значит быстро?
Задача Mayor у меня пол-секунды работает максимум и что это долго?
Так узнать TimeLimit в конкретной задаче?
Задача Mayor2 вообще при онлайн проверке всегда выдает 40, а в результатах 36 почему-то?

И еще как вы код на C++ компилируете? С ключем -O2 или нет?

Почитайте внимательно форум, найдете ответы на все свои вопросы

Почитал... не нашел. Ответьте здесь, пожалуйста.

Поза форумом

 

#5 2006-12-06 09:35:52

Dark_Dimius
Новий користувач
Звідки: /dev/null
Зареєстрований: 2005-11-17
Повідомлень: 136

Re: Так узнать TimeLimit в задаче?

Системы работают в разных условиях поетому я думою времени на онлайне дается немного больше - ситсема более загружена, к томуже решение должно быть стабильным а не на грани тл.


/*Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать!
Некоторые люди на пальцах считают до 10, я же до 1023*/
Если надо помощь - стучитесь в асю, постараюсь помочь 99996414http://www.icq.com/scripts/online.dll?icq=99996414&amp;img=5

Поза форумом

 

#6 2006-12-06 09:45:20

kp
Новий користувач
Зареєстрований: 2006-12-01
Повідомлень: 4

Re: Так узнать TimeLimit в задаче?

Dark_Dimius написав:

Системы работают в разных условиях поетому я думою времени на онлайне дается немного больше - ситсема более загружена, к томуже решение должно быть стабильным а не на грани тл.

Я так и не понял как узнать TL для задачи sad

Он где-то написан? В условии его нет, хотя совершенно очевидно,
что TL - неотъемлимая часть условия! Это все равно, что в задаче попросить сложить два числа A + B и при этом не указать в каких пределах
могут принимать значения эти числа. Но тогда ЛЮБОЕ решение является неверным, потому, что я без труда подберу тест на котором оно не пройдет. Также и с TL.

Поза форумом

 

#7 2006-12-06 11:03:53

ppv
Новий користувач
Зареєстрований: 2006-11-30
Повідомлень: 9

Re: Так узнать TimeLimit в задаче?

kp написав:

Я так и не понял как узнать TL для задачи sad

Он где-то написан? В условии его нет, хотя совершенно очевидно,
что TL - неотъемлимая часть условия! Это все равно, что в задаче попросить сложить два числа A + B и при этом не указать в каких пределах
могут принимать значения эти числа. Но тогда ЛЮБОЕ решение является неверным, потому, что я без труда подберу тест на котором оно не пройдет. Также и с TL.

Это особенность (уникальность) NetOI!
Знание TL часто дает направление на поиск решения. Например, очень маленький TL дает понять, что есть решение простой формулой, а не перебором или динамикой.
На NetOI надо решать задачи самым быстрым из известных способом со всеми возможными оптимизациями.
Наверное, следует принять эту особенность и не париться.

Поза форумом

 

#8 2006-12-06 13:45:34

Dark_Dimius
Новий користувач
Звідки: /dev/null
Зареєстрований: 2005-11-17
Повідомлень: 136

Re: Так узнать TimeLimit в задаче?

kp написав:

Dark_Dimius написав:

Системы работают в разных условиях поетому я думою времени на онлайне дается немного больше - ситсема более загружена, к томуже решение должно быть стабильным а не на грани тл.

Я так и не понял как узнать TL для задачи sad

Он где-то написан? В условии его нет, хотя совершенно очевидно,
что TL - неотъемлимая часть условия! Это все равно, что в задаче попросить сложить два числа A + B и при этом не указать в каких пределах
могут принимать значения эти числа. Но тогда ЛЮБОЕ решение является неверным, потому, что я без труда подберу тест на котором оно не пройдет. Также и с TL.

Для подобных вопросов такой форум -
непонятно числа плавующие или нет, в каких пределах
- спроси у жюри на етом форуме


/*Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать!
Некоторые люди на пальцах считают до 10, я же до 1023*/
Если надо помощь - стучитесь в асю, постараюсь помочь 99996414http://www.icq.com/scripts/online.dll?icq=99996414&amp;img=5

Поза форумом

 

#9 2006-12-07 12:25:49

kp
Новий користувач
Зареєстрований: 2006-12-01
Повідомлень: 4

Re: Так узнать TimeLimit в задаче?

ppv написав:

kp написав:

Я так и не понял как узнать TL для задачи sad

Он где-то написан? В условии его нет, хотя совершенно очевидно,
что TL - неотъемлимая часть условия! Это все равно, что в задаче попросить сложить два числа A + B и при этом не указать в каких пределах
могут принимать значения эти числа. Но тогда ЛЮБОЕ решение является неверным, потому, что я без труда подберу тест на котором оно не пройдет. Также и с TL.

Это особенность (уникальность) NetOI!
Знание TL часто дает направление на поиск решения. Например, очень маленький TL дает понять, что есть решение простой формулой, а не перебором или динамикой. На NetOI надо решать задачи самым быстрым из известных способом со всеми возможными оптимизациями.

Спасибо, теперь я буду оптимизировать все подряд smile

ppv написав:

Наверное, следует принять эту особенность и не париться.

Наверное жюри следует в правилах указать эту особенность, для меня, например, это было не слишком приятным
сюрпризом.

Поза форумом

 

Нижній колонтитул

Powered by Likt
© Copyright 2002–2009 Likt