На форумі обговорюються лише питання, пов'язані з олімпіадою
Ви не зайшли.
Вже вкотрий раз отримую кілька ТЛ-ів через використання STL. При чому на моїй машині моя STL-на програма працює швидше, ніж деякі програми, що використовують С-масиви і тут проходять перевірку на 40 балів.
У зв'язку з чим хотілося б дізнатися, які використовуються ключі компіляції, бо на дебажній збірці СТЛ дійсно неймовірно тормозить.
Або можливо проблема у версії компілятора? Тоді може можливо було б оновити компілятор?
Просто зараз щось старіше, ніж 4.4 навіть важко знайти, а тут, якщо вірити правилам, стоїть 4.0
П. С. Не хочу, щоб це сприймалось як якесь звинувачення. Просто цікавість
Відредаговано Dim_ov (2011-12-29 08:58:36)
Поза форумом
Сейчас используется gcc версия 4.1.2 не имеющая существенных отличий от заявленной в правилах.
]$ gcc -v
Используются внутренние спецификации.
Целевая архитектура: i386-redhat-linux
Параметры конфигурации: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=i386-redhat-linux
Модель многопотоковости: posix
gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)
Поза форумом
Я ничего против STL не имею, более того, сам очень часто использую.
НО: своим рекомендую в олимпиадном программировании пользоваться STL поменьше, более того, как пример навожу тот факт, что во многих задачах пробных туров на международных IOI идёт в виде примечания предложение приблизительно такого типа: "рекомендуется считывать данные scanf", что по сути является косвенным указанием об не использовании STL.
Для полноты картины и справедливости ради нужно отметить, что использование библиотеки STL при умелом использовании значительно облегчает работу.
Для того, чтобы разобраться с тонкостями использования этой библиотека на конкретной плафторме рекомендуется порешать несколько задач из общедоступного архива задач - там Вы сможете экспериментально проверить все свои теоретические предположения, а также увидеть специфиику его работы на конкретно установленном в системе компиляторе.
По поводу установленной версии: во всём мире принята практика, что участники приспосабливаются под среды программирования, которые им предоставлены, а не наоборот. Так что так было, так есть и скорее всего так и будет далее, поэтому обновлять любой компилятор "по желанию", как правило, никто нигде не будет.
Поза форумом
дякую. Вдома спробую поставити 4.1.
Я розумію, що посеред олімпіади ніхто не буде нічого оновлювати. Це більше було щодо наступних років
Ще хотілося б дізнатися команду для власне компіляції рішення (типу g++ solution.cpp -O2 -osolution)
Поза форумом
Dim_ov написав:
дякую. Вдома спробую поставити 4.1.
Я розумію, що посеред олімпіади ніхто не буде нічого оновлювати. Це більше було щодо наступних років
Ще хотілося б дізнатися команду для власне компіляції рішення (типу g++ solution.cpp -O2 -osolution)
Я не терплю избыточного "новаторства", особенно в сфере продутов с открытым кодом. "Вчерашняя" версия всегда лучше "сегодняшней". Ее "глюки", по крайней мере, хороши известны, а у "сегодняшней" - непредсказуемы. Обновлять будем тогда, когда RH вклюбчит в свой очередной релиз. (в RHES 6.1 еще 4.1.х). А то, что Ubuntu, "задрав штаны" бежит "впереди паровоза"и у них более старшие версии - для меня ничего не говорит. Не серверная это платформа в прнципе.
Что касается ключей... все сказано в правилах. Да и он лайн проверка у вас есть.
Поза форумом
Присяжнюк А.В. написав:
Я ничего против STL не имею, более того, сам очень часто использую.
НО: своим рекомендую в олимпиадном программировании пользоваться STL поменьше, более того, как пример навожу тот факт, что во многих задачах пробных туров на международных IOI идёт в виде примечания предложение приблизительно такого типа: "рекомендуется считывать данные scanf", что по сути является косвенным указанием об не использовании STL.
Это немного из другой оперы и к STL не имеет никакого отношения.
Просто то, что iostream на 10-15% медленнее, чем stdio - известный факт. Причем 10-15% - оптимистичная оценка. В отдельных средах (MS VC++ 6) разница достигала 200-300%.
Что до версий GCC - не думаю, что в условиях олимпиады можно найти существенные различия между gcc 4.1 и gcc 4.4 (не считая того факта, что после 4.1 отключили по умолчанию поддержку <?= ).
Відредаговано reiten (2011-12-29 17:00:21)
Поза форумом