Сборная Казахстана для участия в IOI 2008

Заходил сегодня в КБТУ по вопросам трудоустройства и, уже закончив свои дела, ходил по зданию в поисках выхода, как вдруг услышал знакомый голос. Заглянул в кабинет, а там три, недавно вернувшихся из ЛКШ пацана вместо того, чтобы отдыхать на летних каникулах перед новым учебным годом, вместе с тренером готовятся к поездке в Египет на IOI 2008.

Читать дальше >

Google Code Jam round 3

Я честно старался не пройти: долго писал 1-ю задачу, забыл поменять ограничения к large-тесту 2-й задачи, не заметил четвертую вершину у треугольника в графе 3-й задачи и забил на hard 4-й, но не получилось – занял 77 место, и, как следствие, попадаю в полуфинал. К сожалению, в деле “непопадания” в полуфинал преуспели остальные казахстанские участники, так что я, похоже, поеду один :(

Далее – немного о задачах (полные условия лежат здесь).

Читать дальше >

Qwit 0.4


С осени в моей жизни настают коренные изменения: новая работа, новое место учебы, новая крутая команда ACM. Учиться я буду (надеюсь, что буду :) ) в магистратуре КБТУ, а она, как известно, полностью на английском. Так что приходится вспоминать все, что было выучено, и учить то, что не было. Вот здесь в достаточно хорошем виде представлена грамматика. Для тренировки распознавания англоязычной речи на слух смотрю фильмы на английском, что можно иногда заметить у меня в твиттере. Ну а параллельно с просмотром фильмов разрабатываю Qwit, версию 0.4 которого представляю Вам.

Изменения (по сравнению с версией 0.3):

  • добавлена строка статуса;
  • добавлены вкладки Public и Replies;
  • страшные надписи на кнопках Refresh и Options заменены красивыми иконками из KDE;
  • в окно программы добавлена кнопка выхода (раньше выход был только через контекстное меню иконки в трее);
  • временной интервал обновления теперь устанавливается в секундах, а не в миллисекундах;
  • исправлена куча багов.

Скачать:

Исходники: qwit-0.4-src.tar.bz2.

Бинарник (откомпилирован на Linux 2.6.25, QT 4.3.3, GCC 4.1.2): qwit-0.4.tar.bz2.

Инструкция по компиляции:

  1. установить (если нет) Qt 4;
  2. распаковать архив с исходниками;
  3. в папке архива выполнить qmake – должен создаться Makefile для вашей конкретной системы;
  4. make – создаст бинарник qwit или qwit.exe, который и можно запускать.

Qwit 0.3

Потихоньку изучаю Qt и улучшаю Qwit. В версии 0.3:

  • исправлено несколько багов (например, с незагружаемостью аватары _ttim‘а :) );
  • улучшен (на мой взгляд) интерфейс, в частности, настройки убраны в отдельное окно, расширено поле ввода статуса, введен счетчик символов;
  • добавлена возможность ответа на сообщения и кликабельность ссылок в сообщениях;
  • и еще что-то, что уже не помню :)

Исходники: qwit-0.3-src.tar.bz2.

Бинарник (откомпилирован на Linux 2.6.25, QT 4.3.3, GCC 4.1.2): qwit-0.3.tar.bz2.

Кстати, проект залит на Google Code, так что командой “svn checkout http://qwit.googlecode.com/svn/trunk/ qwit-read-only” можно получить самые последние исходники (обычно commit’ятся вечером перед сном :) ).

Также хочется поблагодарить zhomart‘а за обзор моего блога.

И в качестве бонуса – мелодия на песню Carnival из кинофильма Black Orpheus, которая мне очень понравилась, и я решил научиться ее играть.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Скачать в mp3

Qwit 0.2

Добавлена поддержка userpics и немного покрасивел интерфейс.

Исходники: qwit-0.2-src.tar.bz2.

Бинарник (откомпилирован на Linux 2.6.25, QT 4.3.3, GCC 4.1.2): qwit-0.2.tar.bz2.

Буду рад, если кто-нибудь попробует сие творение откомпилировать и запустить на Windows, и расскажет, получилось или нет.

Qwit – кроссплатформенный клиент для Twitter на Qt4

С тех пор как зарегистрировался в твиттере искал standalone-клиент, нативно выглядящий и нормально работающий под KDE. Неуспешный поиск и желание изучить Qt вынудили начать писать такой клиент самому. Так что встречаем первую более-менее работающую версию: Qwit-0.1. Скачать исходники, бинарник. На данный момент Qwit может отправлять ваш статус, получать френдленту, незаметно висеть в трее, сигнализировать об обновлениях в френдленте и делать все это через http-прокси. По мере изучения Qt, наличия свободного времени и интереса не только с моей стороны возможности будут расширяться. Ниже – несколько скриншотов.

Читать дальше >

ZOJ Monthly и GCJ Round 1b

В очередной раз вместо того, чтобы пойти погулять в хорошую погоду целый день писал контесты: сначала июльский ZOJ Monthly, на котором умудрился занять 11 место, решив 4 задачи, а затем с перерывом в 7 часов – Google Code Jam Round 1b. Браузеры всячески пытались помешать мне написать GCJ – сначала Opera не захотела заходить в контест после начала, потом Firefox не захотел скачивать hard-тест к 3-й задаче, включив, однако, счетчик времени. Но, преодолев их сопротивление и собственную невнимательность, сдал полностью все 3 задачи и в итоге занял 19-е место, что не может не радовать :) Интересен странный подход к подсчету шртафного времени – это время сдачи последнего сданного easy-теста. Это приводит к тому, что все пытаются как можно быстрее решить easy-тесты сомнительной сложности, и получается, что выше тот, кто быстрее печатает. Далее – небольшой обзор задач GCJ.

Читать дальше >

Google Code Jam Qualification Round

Google Code Jam

Давно я что-то ничего не писал. Начну пожалуй, для разминки, с GCJ :)

Задача 1. Saving the Universe

Краткое условие

Дан список поисковых систем S (все названия различны, до 100 элементовв) и список запросов Q (каждый запрос – строка из S, до 1000 элементов). Необходимо распределить запросы по системам так, чтобы ни один запрос не совпал с названием системы, которой он будет обработан. При этом запросы должны выполняться в заданном порядке и количество смен поисковых систем должно быть минимизированно (смена системы происходит, когда система, обрабатывающая i-й запрос не совпадает с системой, обрабатывающей j-й запрос).

Читать дальше >

стек + стек = очередь

Хочу рассказать об одном интересном и полезном, с моей точки зрения, для общего развития применении таких базовых структур данных, как стек и очередь, на которые, к сожалению, неоправданно забивают многие будущие программисты при обучении. Первый раз оно было встречено на зимних сборах 2008 года в Петрозаводске (огромное спасибо Андрею Станкевичу за разбор), а вскоре к нему неожиданно свелась задача для Республиканской олимпиады школьников (правда, там для облегчения проходило и не самое оптимальное решение, но это, увы, не сильно помогло участникам).

Читать дальше >

Расписание контестов в формате iCalendar

Достаточно давно Улан Дегенбаев предложил экспортировать расписание соревнований на http://olympiads.kz в формате, понятном для Google Calendar, а сейчас я нашел время воплотить эту идею на практике: http://olympiads.kz/schedule.ics.

Как пользоваться:

  1. открываем Google Calendar;
  2. выбираем Add -> Add by URL;
  3. вводим http://olympiads.kz/schedule.ics в поле Public Calendar Address и нажимаем Add.

Конечно использовать можно не только в Google Calendar, но и в любом органайзере, поддерживающем импорт формата iCalendar.

Работает в тестовом режиме, если заметите ошибки – сообщайте.