Архивы для January, 2008

Петрозаводск, 4-й тур

Завершился 4-й тур сборов, проходивший на задачах Университета Варшавы. У меня наконец-то прогресс – решил ровно столько задач, сколько считал нормальным, плюс радует “Last success: 04:59:52, Kazakh NTU: Iglikov , problem I” :) . Также проходила лекция от Google об устройстве их хранилища данных, которую вел Петр Митричев, после чего девушка, которую вроде зовут Марина, рассказала о преимуществах работы там (знаменитые 20%, настольный футбол, “халявная еда” и т.п.). Были розданы сувениры, в числе которых диск, содержащий Google Desktop, Google Toolbar и Picasa. К сожалению ничего под мой Debian не было :(.

SnarkNews winter series – 2008. Round 4

Четвертый раунд SNWS 2008 прошел относительно нормально, хотя и заканчивался под впечатлением от некоторых событий. Отчасти, наверное, это можно объяснить простотой задач, отчасти их известностью.

TopCoder SRM 389

Завершился очередной Single Round Match. В этот раз задачи были довольно легкие – около 80 человек решили все три. В первой задаче надо было сделать то, что было написано, во второй – написать перебор, а в третьей – вычислить функцию Гранди. В итоге – 32-е место и +44 к рейтингу.

(a * b) % c

На сайте TopCoder появилась очередная статья из раздела Feature ArticlePrimality Testing : Non-deterministic Algorithms, в начале которой описан любопытный метод вычисления произведения a * b % c, если все числа 64-битные и длинная арифметика не используется. Метод похож на быстрое возведение в степень и работает за O(log b).

Вот, собственно, код, немного оптимизированный мною:

long long multiply(long long a, long long b, long long c) {
   long long x = 0, y = a % c;
   b %= c;
   while (b > 0) {
       if (b & 1) {
           x += y;
           if (x >= c) x -= c;
       }
       y <<= 1;
       if (y >= c) y -= c;
       b >>= 1;
   }
   return x;
}

SnarkNews winter series – 2008. Round 3

Завершился третий раунд SNWS 2008. Очередной странный контест, в котором даже такие небезызвестные люди как Gennady Korotkevich, Marek Cygan и Dmitry Zhukov решили всего 3 задачи.

SnarkNews winter series – 2008. Round 2

Завершился второй раунд SNWS 2008. Получилось лучше, чем в прошлый раз, но все же не так, как хотелось бы. Отчасти виноват провайдер, который в течение 10-15 минут не давал скачать условия :( .

TopCoder SRM 388

Прошел очередной TopCoder SRM. 250 и 500 были довольно стандартные: первая на факторизацию чисел, а вторая на простую динамику по подмножествам. 1000 сдали немногие. В итоге – 74-е место и +10 к рейтингу.

SnarkNews winter series – 2008. Round 1

Закончился первый раунд SnarkNews winter series – 2008, который я удачно слил :( . К сожалению в последнее время это входит в привычку, хотя может быть помешали гости и проблемы с wifi…