История
Версия для печати

Архив форума

Den Raskovalov 13.04.2004 19:59
Павел Егоров:
Кажется я продул :(((

Зато теперь мы знаем, как сделать из команды Расковалова чемпиона мира :))

Скидываемся на три ящика к Питеру, и на 5 - к Миру? ;)))
Нам откровенно проперло с задачами ;) Решали ровно то что нужно ;))))

Не взялись за гробовые тарелки (хотя Дима по его словам прописал решение на бумажке к концу контеста) ;) К архиватору последним приступили. ;)

До этого контеста руками мне приходилось писать только сжатие по Хаффмену. Самое главное, что я вынес их того опыта, что это для сжатия текстовых данных - полное фуфло. И сжатия только с Хаффменом не получишь. Также я когда-то пролистывал одну книжку по сжатию данных (привезли ее из Питера в этом году, есть почти у всех, кто ездил ;)) и в памяти отложился алгоритм Лемпеля-Зива (очень необычный алгоритм, такой не забудешь). На эту задачу я совершенно честно потратил около 2-х часов компьютерного времени. Это было бы совершенно фатально и неправильно, если бы не было к тому моменту сдано 8 задач, или оставалось бы еще что-нибудь решенное хоть кем-то, или была бы уверенность, что пробить что-то еще удастся. В результате написано:
1. Честное кодирование по Лемпелю-Зиву (input.txt->output.txt)
2. Честное декодирование. (input.txt->output.txt)
3. Генерилка тестов (полуслучайный сжимаемый бред)
4. Генерилка тестов (полуслучайный несжимаемый бред)
5. Бинарная сравниловка файлов.
6. Генерилка искомой программы (генерится CPP-программа)

Тут оказалось, что VC испытывает необычайные проблемы с длинными строковыми константами (internal compiler error. heap overflow)

7. Декодер на Delphi.
8. Генерилка искомой программы (генерится Delphi-программа)
Главная проблема - сгенирить для бинарный данных правильную строковую константу.

Вот. Было сделано три сабмита в последние 10 минут. Но так и не срослось ;(

Некоторые мои впечатления:
1. Комплект был как по заказу под меня. Идеи все (или почти все) неоднократно появлялись на УрГУшных контестах ;) Не было задач из разряда мною нелюбимых. Неужели приберегли на второй день? ;) Все просто, красиво, аккуратно, "не мутно" ;) Спасибо за комплект ;)

A. Архиватор. Молодцы, добавили новый стандартный алгоритм в копилку ACM-ера! Мне, как я считаю, совсем немного не хватило, чтобы сдать. Писал, мучаясь, алгоритм Лемпеля-Зива ;)
B. Пирамида декана. Саша - молодец! Единственный, кто сдал ее на контесте ;) Самая, кстати, маленькая по коду задачка получилась ;)
C. Банальный prebuild. За версту пахнет ;) Сдавали очень грязно. Блин, лень было лишних пару раз прогнать переборный солюшен, нагенерить тестов!
D. Диагностика ACM. Классический ДП с длинной арифметикой. Что-то я давненько не видел ДП без длинной арифметики. "Мы с Тамарой ходим парой" ;) Первый раз получен Time Limit. Был заменнен vector<short> на short[], переписана сумма длинных чисел на вариант без явной нормализации. Результат - AC. Лишь после контеста я понял, что надо было просто уменьшить количество цифр в длинном числе.
E. Кирпичи. Нормальная задачка. Центр масс - прикольная фенечка ;)
F. Тарелки. Хорошо, что у меня в команде никто пока такую геометрию решать не умеет ;) Если бы я решал, то решал бы динамически. Тарелки бы у меня были твердами телами, которые подчиняясь некоторым законам "летали" бы по подносу, неупруго сталкиваясь и с силой трения. Появится задача на Timus'е - сдам ;)
G. К вопросу о спорте. Задача была сдана моей командой на 7-ой минуте. В чем секрет? Достаточно взглянуть на sample output, чтобы понять, что задача планируется как простая :)
H. Погоня в метро. Волна. Банально. Но красиво ;) Первый раз был получен WA. Блин, тестить надо было! Валилась на тесте, где путь состоял всего из одной вершины - тривиальщина, крайний случай.
I. ПДВАС и ПВИПАС. Хитрая нестандартная волна. Очень многие условия надо восстановить по sample'у и домыслить.
J. Классическая задачка на хитрую структуру данных. Я ее сдал, как полный cheater ;) Не зашла бы, была бы прикольная задачка ;)
Если память не изменяет, когда-то задачка на такую структуру появлялась на внутренних соревнованиях. Не путаю?

2. Организация контеста была крайне хорошей. Накладок не было. Все было дрюжелюбно, без дурацких ограничений ;)

3. Вообще играть было безумно весело сегодня ;) Особенно первые часа 2, когда шли с пермяками ноздря в ноздрю :) Безумный драйв ;) Пришел я на контест (Паша не даст соврать) жухлый-жухлый, с ноющей головной болью ;) Меня даже ГАИшник на площади остановил, поинтересовался состоянием моего здоровья ;) Про боль я забыл ровно минуте к 7-ой ;)

4. Дома и стены помогают. Безумно классно, когда человек, который приносит тебе бумажку от жюри, отдавая ее, говорит: "Давай! Давай! Мы их сделаем!". ;) Всем спасибо за поддержку ;)

5. Чего так много смайликов? Так прикольно же сыграли :lol: Погода даже радует :D

6. Играли мы, конечно, быстро. Но безумно грязно. Точно уж есть над чем работать. :oops:

PS Может каждая команда (и УрГУшная и не УрГУшная) подобный мини-отчетик напишет? Интересно же ;) Самое ценное - впечатления и опыт ;)
PPS Маленькая деталь. Моя команда сидит за машиной, играя на которой, я дважды становился чемпионом УрГУ ;) Фартовая машинка ;)
Илья Гофман 13.04.2004 21:20
Den Raskovalov:
C. Банальный prebuild. За версту пахнет ;) Сдавали очень грязно. Блин, лень было лишних пару раз прогнать переборный солюшен, нагенерить тестов!
эммм.. а можно поподробнее, что есть prebuild почему он банальный?:))))
Цитата:
D. Диагностика ACM. Классический ДП с длинной арифметикой. Что-то я давненько не видел ДП без длинной арифметики. "Мы с Тамарой ходим парой" ;)
а что такое ДП и почему он классический и всегда вместе с длинной арифметикой? :))))
Цитата:
J. Классическая задачка на хитрую структуру данных. Я ее сдал, как полный cheater ;) Не зашла бы, была бы прикольная задачка ;)
а какая именно структура? я думал на хеш-таблицы, но реализовывать даже не собираюсь:))))

вот.
P.S. а вот судя по великолепному выступлению и ФТФ и РТФ УПИ, АСМ там придется начинать с нуля либо нагло использовать УрГУшные отборы для тренировок:)) если конечно, физика и связанные с ней спецкурсы не затянут:)))
Den Raskovalov 13.04.2004 21:34
Илья Гофман:
Den Raskovalov:
C. Банальный prebuild. За версту пахнет ;) Сдавали очень грязно. Блин, лень было лишних пару раз прогнать переборный солюшен, нагенерить тестов!
эммм.. а можно поподробнее, что есть prebuild почему он банальный?:))))
Prebuild - это решения по следующей схеме. Довольно медленная программа сначал "что-то" посчитает на локальной машине, выплюнет "что-то". Потом это "что-то" мы вставим в программу, которая на основе этого "что-то" быстро будет давать ответ.
Илья Гофман:
Цитата:
D. Диагностика ACM. Классический ДП с длинной арифметикой. Что-то я давненько не видел ДП без длинной арифметики. "Мы с Тамарой ходим парой" ;)
а что такое ДП и почему он классический и всегда вместе с длинной арифметикой? :))))
ДП - Динамическое программирование. Что этим словом только не называют. Обычно решение по сути представляет собой реализацию некоторой реккурентной формулы. Такие задачки очень часто просто встречаются. А длинная арифметика просто обычно очень естественна (чтобы результат хоть дол сколько-нибудь значительного N вычислить) ;)
Илья Гофман:
Цитата:
J. Классическая задачка на хитрую структуру данных. Я ее сдал, как полный cheater ;) Не зашла бы, была бы прикольная задачка ;)
а какая именно структура? я думал на хеш-таблицы, но реализовывать даже не собираюсь:))))
Тупая. Для каждого запроса храним, сколько раз он появлялся. Также храним суммарное число запросов в группах
0...999
1000...1999
и т.д.

Добавить запрос в такую структуру - O(1)
Удалить - O(1)
Ответить на вопрос, сколько запросов, больших K - O(sqrt(N)) (если N - индекс максимального запроса)
Илья Гофман:
вот.
P.S. а вот судя по великолепному выступлению и ФТФ и РТФ УПИ, АСМ там придется начинать с нуля либо нагло использовать УрГУшные отборы для тренировок:)) если конечно, физика и связанные с ней спецкурсы не затянут:)))
Я всеми руками за конкурентноспособность УПИ! После контеста, ко мне кто-то из них подошел, интересовался возможностью совместных тренировок. Надеюсь, что действительно получится.
mir 13.04.2004 21:44
Цитата:
Вот. Было сделано три сабмита в последние 10 минут. Но так и не срослось ;(
А вы language identificator не забыли??? :wink:
было бы 9
Den Raskovalov 13.04.2004 21:54
mir:
Цитата:
Вот. Было сделано три сабмита в последние 10 минут. Но так и не срослось ;(
А вы language identificator не забыли??? :wink:
было бы 9
Блин. Это тоже сказка о моей дури ;) У меня, как я уже писал, было два солюшена. Генерящий CPP-архив, и Delphi-архив. Бил я в последние минут 20 Delphi-версию, а сабмитил из соседнего FAR'а CPP версию. Она, как я уже говорил, получает compiler error на больших тестах.
Илья Тетерин 13.04.2004 22:04
Цитата:
Я всеми руками за конкурентноспособность УПИ! После контеста, ко мне кто-то из них подошел, интересовался возможностью совместных тренировок. Надеюсь, что действительно получится.
нямс упи не дает олимпиадникам преимуществ при поступлении (Рогович как-то обещал, но когда я в деканате это попросил, мне сказали, что "он погорячился", после чего я решил в УПИ не поступать, ибо некрасиво очень получилось с подготовительными курсами).
Den Raskovalov 13.04.2004 23:05
Кстати, на Тимусе русские условия отличны от тех, что мы получили сегодня. Вроде бы по мелочам, но...

2 солюшена, которые сегодня получили AC, получили ML. Хорошо, что Саша все еще не научился измерять расход памяти ;)
Александр Мироненко 14.04.2004 00:01
Den Raskovalov:
Кстати, на Тимусе русские условия отличны от тех, что мы получили сегодня. Вроде бы по мелочам, но...
Но в лучшую (уж поверьте) сторону. Просто на тимус задачи были загружены заранее, а бумажную версию вычитывали и вылизывали до самого последнего момента - доходило даже до полных замен сказок - это видно, если сравнивать с английским тимусом. Возможно поэтому кларифов практически не было.

Летающие тарелки получил, завтра вечером погоняю на другой машине (здесь cpp нет), но похоже на правду. Какое пиво ставить?