Комментарии

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

На AlexDmitrievTopCoder Open Algorithm Round 2B, 7 дней назад
+16

Перекладывать надо всегда самые тяжелые. Таким образом, по набору ходов можно понять, у кого будет самая тяжелая книга, у кого вторая по тяжести итд. Дальше, зная это, сортируем книжки и делаем ДП от двух параметров – текущая книга, сколько книг взято.

На piloopCodeforces Round #119, 9 дней назад
+27

Задача Е ништяк. Идея простая, реализация сложная. По С интересно действительно ли можно доказать решение которое как бы за квадрат. Я думал над ним на контесте, но ничего в голову не пришло.

На mbarosAcm.am, 9 дней назад
+9
На piloopCodeforces Round #119, 9 дней назад
+18

That was not me, that was homo_sapiens.

-2

Вообще причин не выводить с 20 (я всегда делаю 18) знаками нету. Это одна из привычек которую хорошо в себе развить :о)

На ilonaБеда со взломами., 2 недели назад
0

Он новый выделит, старый-то он освободит.

На Aksenov239Codeforces Round #118, 2 недели назад
0

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

На Aksenov239Codeforces Round #118, 2 недели назад
+11

Проблема не в жаднике, проблема в том, что авторское решение неверно.

На Aksenov239Codeforces Round #118, 2 недели назад
0
2 0 2 2 2
| | | | |
2 4 2 4 2

Fourth 2 won’t break the scales.

На Aksenov239Codeforces Round #118, 2 недели назад
+37

My solution, which passes system tests, fails this test.

На Aksenov239Codeforces Round #118, 2 недели назад
0

Если дп возвращает true, как много хлопьев падает на уровень ниже?

На Aksenov239Codeforces Round #118, 2 недели назад
+12

Сначала писалось правильное решение с тернарным поиском, а затем его запуском понималось простое решение :о)

В g++ вектор растет в два раза – только что проверил. В VS в презентации STL говорил, что у них растет в 1.5. Студии проверить нету.

Я сам хоть локально и пишу на g++, отправляю всегда в студии, потому что I64d.

На Berezin.dmitrikНастало время, 3 недели назад
+6

Мое очень субъективное мнение: на С++ программистов ниже спрос, чем на Java, но и предложение хороших С++ программистов гораздо ниже, чем хороших Java программистов. Мне смутно кажется, что если действительно хорошо знать С++, трудоустроиться как минимум не сложнее.

На SimplexНерекурсивный обход дерева., 5 недель назад
+5

Наверное, когда говорят “используя O(1) памяти”, подразумевается, что структура дерева лежит в read-only памяти. Если это не так, обычно прямо указывают, можно ли дерево менять, и надо ли его в конце восстановить.

Решение, когда дерево можно разрушить, можно сделать примерно так (тут я предполагаю, что указатель на вернишу и указатель на очередь занимают одинаковое количество памяти):

# создаем фиктивный список детей содержащий корень
ptr stack = [null, root]
while stack != null:
   ptr lst = stack # на вершине стека лежит список вершин
   stack = lst[0] # нулевой элемент украден для поддержания стека
   while lst[1:] содержит хотя бы один элемент не равный null:
      for vptr in lst[1:]: # vptr указывает на вершину
         # полагаем, что vptr -- это read-write указатель (то есть запись в него меняет соответствующий элемент списка)
         if vptr != null:
            vertex v = *vptr
            print v # вершина выведена, она нам больше не нужна
            if v имеет детей:
               lst2 = список детей v:
               vptr = lst2[0] # заменяем элемент lst содержащий vptr на первого ребенка v
               if v имеет более одного ребенка:
                  lst2[0] = stack
                  stack = lst2
            else: vptr = null

Эта функция вся в хаках, и наверняка можно сделать без них, но она должна работать. Основная идея – мы обрабатываем списки детей (не важно массив это или вектор – главное чтобы по нему можно было итерировать). Мы складываем такие списки в стек. При этом мы исползуем первый элемент списка чтобы указать на следующий элемент стека. Основная идея алгоритма: взять список из стека. Сейчас это список содержит детей какой-то вершины (та вершина уже давно выведена, и нам не интересна). Обработаем вершины из списка. Для каждой вершины выведем ее и положим список ее детей на стек. При этом нам придется пожертвовать первым элементом этого списка. Положим этот первый элемент в список, который мы обрабатываем прямо сейчас, вместо элемента, который мы только что вывели. Когда один список вершин обработан, для каждой вершины этого списка ее список детей уже лежит на стеке, с утраченным первым элементом, а все эти первые элементы сейчас сложены в список, который мы только что обработали. Обработаем его снова, и снова, пока в нем ничего не останется. Ничего не осталось – берем следующего из списка. В такой реализации это квадрат по времени, но можно ужать до линии, если в начале каждой обработки откидывать все nullptr в списке в конец. По пямяти константа, но используется память дерева.

На TranvickМетод отжига, 6 недель назад
+48

Второе ветвление функции Prob там в коде напоминает вот эту картинку:

На sdryapkoSRM 539, 6 недель назад
-2

Проблемы надо решать в порядке приоретитов. Твоя текущая проблема не научиться челенжить, а рассмотреть возможность перехода с ПО, которому уже декада стукнула.

На sdryapkoSRM 539, 6 недель назад
+20

В админской комнате проскочил тест на полкуска, который убивает все решения, включая авторское

Edges are 0-1, 1-3, 0-2, 2-3, 3-4, 4-5. Our solutions return 2 but correct answer is 1

На sdryapkoSRM 539, 6 недель назад
+8

Решаем динамикой по дереву. Считаем три значения

  1. Сколько стоит покрасить все поддерево.

  2. Сколько стоит покрасить все поддерево, если мы знаем, что предок жарит бомбой (не обязательно сам, главное, чтобы в нашем направлении)

  3. Сколько стоит покрасить все поддерево, если мы знаем, что предок ждет нас что мы прожарим бомбой из поддерева в предка.

Но конечно переходы правильно вбить это то еще волшебство.

ну с точностью до выбора базового типа

Базовый тип в этом вопросе важен. Например, если использовать unsigned char, полученный код будет примерно на 10% медленее.

На NickolasApril Fools Day Contest , 7 недель назад
+89

Когда я также пошутил, у моего комментария было +200 :о)

На Dmitry_EgorovCodeforces Round #114 — Tutorial, 7 недель назад
+3

+/-1 in general doesn’t change odd/even for B%(A+1), if A is even. If B%(A+1) = 0, then (B-1)%(A+1) = A – oddness doesn’t change.

На Dmitry_EgorovCodeforces Round #114 — Tutorial, 7 недель назад
0

You don’t have to lose first two games. If you win the third game, you will have a bag big enough to fit any presents from first two days, should you win any.

На Dmitry_EgorovCodeforces Round #114 — Tutorial, 7 недель назад
0

(double post)

На Dmitry_EgorovCodeforces Round #114 — Tutorial, 7 недель назад
+12

Let’s say the larger number is B, the smaller one is A. If A is odd, the case is pretty simple – after each turn B % 2 changes, so we win if and only if B%2 = 0.

If A is even, we win if B % (A+1) is even. To prove it we need to prove that each winning state has a move to a losing state, and that any move from the losing state only goes to a winning state.

If B % (A+1) is even, we can always make it odd by subtracting one, if B % (A+1) is not zero, or by subtracting A, if it is zero. That proves that from every winning state there’s a move into a losing state.

If B % (A+1) is odd, any turn will make it odd. This can be proven by induction: If you subtract A^0=1, B % (A+1) will obviously become even. Let’s say we have proven that subtracting A^k changes oddness. Since subtracting A^k * (A+1) obviously doesn’t change oddness (since it is divisible by A+1), subtracting A^(k+1) = A^k * (A+1) — A^k does change it. That proves that from any losing state you can only move to a winning state.

На Dmitry_EgorovCodeforces Round #114 — Tutorial, 2 месяца назад
+8

Чтобы сымитировать конец файла с клавиатуры надо нажать Ctrl+Z. Тогда код, читающий с стандартного входа, поверит, что произошел EOF.

На kuniavskiCodeforces Round #114, 2 месяца назад
+11

Для нечетных y легко понять, что достаточно чтобы x/y было четно (потому что четность x/y меняется каждый ход)

Для четного – в конце остаток на (y+1) равен нулю, то есть четен, и это выигрышная позиция. Докажем, что нечетный остаток – это проигрышная позиция.

Если сейчас остаток четный – его всегда можно сделать нечетным, сделав -1, если остаток не 0. и -y, если он ноль.

Если сейчас остаток нечетный, то любой ход его сделает четным – это легко показать для хода в -1, остальные легко доказываются по индукцти (пусть мы доказали, что y^k меняет четность, также очевидно, что y^k * (y+1) не меняет четность, потому что делится на y+1, отсюда y^(k+1) = y^k * (y+1) — y^k очевидно меняет четность).

+14

Я просто оставлю это здесь http://habrahabr.ru/post/139895/

На wormsПрикольная повесть, 2 месяца назад
+43

Писец, пацаны, после первого прочтения пытался понять почему прочитавшие плюсуют пост – повесть, по-моему, простенькая. Потом, прочитав первых пяти прокомментировавших под постом, понял прикол.

Предлагаю продолжение писать про политику, предпосылки присутствуют.

На Vlad_Yermak0vProblems with binary search, 2 месяца назад
+16

Вообще работать с соображением, что левая граница включетельно, правая – нет, кажется удобнее, чем когда обе границы включены. Мне кажется что писать бинарный поиск с правой границей включенной – это все еще осталось со времен, когда все писали на паскале (и переходит из старых книжек / учителей старой закалки), на котором обе границы включительно кажется более естественными.

+5

По хорошему среда должна подсказать тип i при наведении на нее мышкой.

Я согласен с тем, что использовать auto либо когда код сокращается очень сильно, либо когда его избежать нельзя.

Не могу не отметить еще, что фраза “я не согласен с Саттером” в вопросах, связанных с С++, звучит забавно :о)

На e-maxxЗадачка: LCA без доп. памяти, 2 месяца назад
+8

Это похоже на правильное решение.

Решение немного проще в правке.

+8

В отладочном выводе видно, что j = 4, в коде видно, что перед этим происходит j–, а значит реально было заполнено пять элементов массива, заведенного на четыре. Или я не прав? :о

В очередной раз на конкурсе для программистов сайт подразуметвает, что программист использует windows – на ссылке для скачивания даже не указано для какой ОС скомпилированы лежание в ней бинарники (хотя, конечно, можно догадаться по расширению)

-7

Откуда уверенность, что падает именно создание листа? В циклах ниже i3 указывает сразу на третий элемент листа, и дальше почти сразу сдвигается еще на один элемент вправо – то есть решение будет работать только если а) в листе есть хотя бы черыте элемента или б) вызов оператора ++ на итератор, указывающий на end, по прежнему указывает на end. Я бы скорее поверил, что ошибка кроется в этом цикле. В любом случае, на контейнеры, вообще говоря, надеяться можно, и глупо их не использовать. Надо просто ознакомиться с тем, как они устроены, и какие у них есть подводные камни (например, что удалять из вектора итерируя по нему опасно – хоть и возможно)

П.С.

(работаю в Microsoft Visual C++ 6.0)

Это просто без комментариев.

На PapkovNikitaКак научиться решать ?, 2 месяца назад
+41

Очень крутой сайт, очень понятно объясняеться.

Не могу не вызарить полное не согласие с вашей точкой зрения.

Какие результаты дает clang на линуксе на такой же виртуалке? Мне кажется, что от компилятора должно мало зависеть в таком тесте.

Какие результаты показывает stdio, если выполнять те же самые действия?

++ в пользу разрешения ему участвовать. Запрет на участие в официальном старте кажется как минимум странным.

На MikeMirzayanovVK Cup — Computer Programming Championship, 3 месяца назад
+82

Конечно, это не “конечно”

На NickolasSurprise Language Round #5, 3 месяца назад
+1

А чекеры для таких раундов пишутся на языке раунда?

На NickolasSurprise Language Round #5, 3 месяца назад
+62

Я уже тоже нервничаю :о

В этой задаче не было двоякого понимания условия.

Я помню в седьмом классе на олимпиаде по математике была задача про рыцарей и лжецов, где каждый говорил “справа от меня сидит три рыцаря”. И на разборе один из неверно решивших ее участников с пеной у рта доказывал, что если лжец такое сказал, значит справа от него сидит три лжеца, а не по крайней мере один лжец. Схожая ситуация – человек не знает математику, и обвиняет организаторов математической олимпиады в том, что в условии задачу ему не разжевали.

Если пишешь соревнование по программированию, разумно уметь мыслить логически. И не в седьмом классе мы уже тут в большинстве своем.

На ftcКонкурс играющих программ, 3 месяца назад
0

В формате вывода по прежднему что-то странное.

На Fefer_Ivan3 тонкости C++, 3 месяца назад
0

Да, имеллось ввиду как в рантайме определяется что вызвать.

На самом деле примерно так и сделано как ты говоришь, только я не думаю, что таблица на самом деле ограницена. Просто если за ее пределы вылезти, скорее всего поймаешь AV попытавшись вызвать виртуальный метод через указатель.

На Fefer_Ivan3 тонкости C++, 3 месяца назад
0

Мой любимый вопрос про указатели на функции-члены класса – это как отличить указатель на виртуальную функцию от указателя на невиртуальную функцию.

#include <stdio.h>

class Moo
{
    public:
        virtual void a1(int a) { printf("a1 %d\n", a); };
        void a2(int a) { printf("a2 %d\n", a); };
};

int main()
{
    Moo* a = new Moo;

    void(Moo::*A1)(int) = &Moo::a1;
    void(Moo::*A2)(int) = &Moo::a2;

    printf("SizeOfs: %d %d\n", sizeof(A1), sizeof(A2));

    printf("Content of A1: %lld %lld\n", A1);
    printf("Content of A2: %lld %lld\n", A2);

    (a->*A1)(5);
    (a->*A2)(7);

    return 0;
}

Вот это код выводит:

SizeOfs: 16 16
Content of A1: 1 0
Content of A2: 4196196 0
a1 5
a2 7

Последние две строки ожидаемы – все вызвалось верно.

Первая строка говорит, что указатели на функцию обе 16 байт, вторая говорит, что последние восемь байт в обоих указателях не используются, в то время как первые восемь байт в первом указателе содержат номер в виртуальной таблице, а во втором – адрес функции.

Так как тип у них одинаковый, вопрос – как при вызове компилятор понимает, вызывать по адресу или из таблицы?

Как же он все правильно сказал, если в том участке полиморфизм не работает, а его комментарий начинается с утверждения, что работает, а затем объясняет, почему он не работает.

Это круто – Visual Studio ведет себя так, как я ожидал бы чтобы код себя повел. Это, среди прочего, обозначает, что студия хранит размер объекта где-то в виртуальной таблице.

А еще это отвечает на вопрос почему G++ падает сразу, не вызвав деструктор даже первого объекта. Потому что деструкторы вызываются начиная с последнего элемента (это хорошо видно в твоем выводе – указатели уменьшаются).

На JKeeJ1e30Facebook Hacker Cup(round 1), 4 месяца назад
+8

Догадайся убрать под спойлер хотя бы. В идеале конечно надо удалить комментарий.

На r3g_null1fystring.h functions tutorial, 4 месяца назад
0
"The book, Game of thrones is very good. Read it."

That is very true :)

На Kh.MadiБраузеры..., 4 месяца назад
+4
Это есть в девятом осле. Каждая новая вкладка запускается в отдельном процессе. Если открыть вкладку перейдя по ссылке с уже открытой (открыв ссылку в новой вкладке), то новая вкладка запустится в том же процессе. Это будет видно в строке с вкладками -- вкладки в одном процессе показываются одним цветом, вкладки в другом процессе -- другим цветом.
В Firefox над этим работали, не знаю закончили ли.

На YouTubeHeroesNotarized screenshot, 4 месяца назад
+1
In the case above stand is a noun, not a verb.
На NickolasCodesprint, 4 месяца назад
-7
Мне нравится блок над блоком Participating Companies на странице CodeSprint :о)

На GoldСтроки, 4 месяца назад
+3
Я тебя подловил скорее на том, что ты не заметил, что я был не прав :о)
На GoldСтроки, 4 месяца назад
0

(Что-то здесь было написано не то :о))

На GoldСтроки, 4 месяца назад
+14
sort(a, a+strlen(a));

Чистейший си.
На SiunovAndreyМой фэйл 100-го раунда, 4 месяца назад
0
но потом программировать также удобно, как и на VS.

Дебаггер если вообще не нужен, то да. Но тогда зачем вообще среда разработки.
Проще тогда уж поставить Qt Creator.

На SiunovAndreyМой фэйл 100-го раунда, 4 месяца назад
+24
Например, в std::vector сложность ни то пуша ни то чего-то в этом роде в дебаге в 2010 версии квадратичная. Приоритетная очередь построена поверх вектора, так что если у вектора в дебаге действительно пуш квадратичный, то и у приоритетной очереди в дебаге пуш будет квадратичный. Почему это так, и как эту очень полезную фичу выключить, объяснялось в этом видео:
http://channel9.msdn.com/Shows/Going+Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-3-of-n

Кстати, чувака на видео зовут Stephan T. Lavavej, и я сячитаю, что иметь такое ФИО инженеру в STL очень круто :о)

Удивительно, что я первый, кто скажет тебе, что ты мудак, твой пост -- высер младенца, и 58 плюсов твоему посту поставили мудаки :о)

upd: наверное надо мотивировать пока я не потерял весь вклад.
есть два момента. первый -- администрация любого бесплатного ресурса по определению никому ничего не должна. они тратят свое время и, видимо, деньги, и это дает им право удалять любые темы, и не дает им обязанности разбираться с каждым недовольным пользователем.
второй момент -- когда человек хочет перестать пользоваться ресурсом, он просто его закрывает и удаляет из закладок. пишут, что уходят, когда хотят привлечь всеобщее внимание и показать какая администрация плохая, не идет на контакт.
Если администрация пойдет на контак сейчас, она разбалует разбалованных пользователей только еще сильнее.

На mathЗанимательная математика, 5 месяцев назад
0

решение

Уже миллион раз обсуждали. Те, кто пока еще участвует или тренируют, имеют тенденцию говорить, что конечно влияние большое, даже по 15 пунктов могут тебе привести в доказательство. А другие еще добавят, что вот многие алгоритмы уже применили на практике сложные, например бинарный поиск и расстояние между строками. Поэтому ты вообще как отзанимаешься СП, ты там на работе будешь самый крутой.


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

Добавлю, что достаточного количества реальных примеров того, как олимпиадник на работе поднимается по карьерной лестнице быстрее коллег, чтобы это было статистически значимым, в мире не наблюдается.

На arminvakilyProgramming sites, 5 месяцев назад
+4
> more better

Света из Иваново?

На iJediSRM 526, 5 месяцев назад
+16
Я могу это обосновать. По логике ты всегда сначала уберешь дыры в координатах, чтобы все иксы и игреки шли подряд -- эта часть не зависит от выбора в столбик или в строчку. Затем надо всех собрать в центральную строчку, или в центральный столбец, и стоимость этого равна. 
Если это не так, обвалится куча решений, которые, например, забывают сортировать вектора с координатами (у меня в комнате таких по меньшей мере два).
На paladin8Z Algorithm, 6 месяцев назад
0
one can  transform Z<->prefix in O(n)

How?
На philolo1What editor do you use during the contest for C++, 6 месяцев назад
0
I use Qt Creator too. Built-in fake vim mode is very handy, and debugger is quite good.

На EgorCHelper v2.2, 6 месяцев назад
+7
Не могу не попросить писать "задача" вместо "таска" :о)
И еще -- "Так же добавлена еще одна акция" -- пришлось переключаться в английский чтобы понять что это значит :о

На ShuaibTiming for CF Round 94, 6 месяцев назад
+22
For my timezone that is the best time possible :)
На RipattiEditorial for Codeforces Beta Round #93, 6 месяцев назад
0

Иначе сразу можно сказать, что ответ найден. Этот подстрока является и префиксом, и суффиксом, а так же суффиксом префикса длины p[n], который находится где-то внутри строки. Это решение работает за O(n).


Красиво :о

E -- отличная задача, но не на 2.5-часовой контест :о

На Sklyackprintf + long double, 6 месяцев назад
0
Это если под Windows сидишь.
Хотя я вот пишу под убунтой, но отправляю все равно под MSVC, потому что тут GCC из MinGW -- как-то нет, спасибо...

На RipattiCodeforces Beta Round #93, 6 месяцев назад
+3
Suffix Array has complexity NlogN

That's improper suffix array. Proper Suffix Array is linear :)

На RipattiCodeforces Beta Round #93, 6 месяцев назад
0

Как уже выше говорили, функция ответа от длины не монотонна. А n log n с хешами  и так заходило.


На RipattiCodeforces Beta Round #93, 6 месяцев назад
+38
Время, которое я потратил на каждую из задач
A -- 31.13
B -- 29.11
C -- 28.11
D -- 27.48

Что-то не так со сложностью :о)
На RipattiCodeforces Beta Round #93, 6 месяцев назад
+11
По длине строки. Точнее, все строки, для которых суффикс равен префиксу, уже сложены в массив и аккуратно отсортированы, и бинарный поиск идет по индексу в массиве.
Проще код посмотреть :о)
На RipattiCodeforces Beta Round #93, 6 месяцев назад
+6
Сначала за линию найдем все префиксы, которые равны суффиксам, а потом уже среди них бинпоиском найдем такой, который встречается еще и в строке.

На RipattiCodeforces Beta Round #93, 6 месяцев назад
+6
У меня волшебный бинпоиск, ему класть на монотонность :о)
На RipattiCodeforces Beta Round #93, 6 месяцев назад
+6
И упасть на претесте 6 :о)
На RipattiCodeforces Beta Round #93, 6 месяцев назад
+7
Думаю, нужно заметить, что он умножает на знаменатель от другого ответа. Поэтому с этой точки зрения все верно.
На RipattiCodeforces Beta Round #93, 6 месяцев назад
+14
114 немного больше 110. В остальном хороший ответ
На RipattiCodeforces Beta Round #93, 6 месяцев назад
0
Там можно идти из двух углов. Если ты встречаешь единицу, ты обязан сходить в нее, потому что все клетки выше и правее (ниже и левее соответственно для другой половины) уже рассмотрены и единиц не содержат.
На RipattiCodeforces Beta Round #93, 6 месяцев назад
0
Может еще хеши пройдут :о(
А мы на С++ мучаемся с fmod :(
На Ramzes2IDE для C++ под Linux?, 6 месяцев назад
0
Там другая крайность -- или я косорукий, или как показать содержимое строки в отладчике? :о
На De_troitDOTA очень мешает., 6 месяцев назад
+9
Удалить папку с варкрафтом не вариант?

+1
Как я уже говорил (тема эта тут всплывает по меньшей мере третий раз), эффективный способ -- это написать простенькую систему имитации контестов (что не должно быть сложно для программиста, правильно? потом эта система, как показывает опыт, отлично защищается как бакалаврский диплом) -- буквально чтобы она компилировала и запускала задачи, и показывала что-то типа монитора, потом качать задачки с тестами с американских полуфиналов сначала, с польских полуфиналов, потом школьные олимпиады, и нарешивать их.
Решать с тимуса лично я не советую. Имхо, это почти пустая трата времени.

Еще ахмед али публиковал тут ссылку на свой новый сервис -- по-моему это что-то как раз похожее. Советую обратить внимание тоже.

А я когда играл -- тащился от Nerubian Weaver.
Я вот слушаю театр трагедий, вот там техника :о)
-- дабл пост --
Не хочу показаться формалистом, но вообще-то отменили летнее время, а не зимнее, и зимнее сделали на час больше, чем оно было.

На Ramzes2IDE для C++ под Linux?, 7 месяцев назад
+1
В QT Creator это как бы есть. Но не очень удобно.
Говорят что в Эклипсе если использовать стандартный отладчик, а не DSF, то тоже есть. Может в Индиго и в DSF добавили.

На AbrackadabraGoogle AI Challenge, 7 месяцев назад
+5
Думаю нет никаких проблем обсуждать AI challenge во время контеста
На yahoooА вы крутите ручку?, 7 месяцев назад
+3
+
На nerdВыбрать N из M, 7 месяцев назад
0
Если делать правильно, то получится то что нужно. Алгоритм: на i-ой итерации менять i-ый элемент со случайным элементом из множества [i,n]. Очевидно, что такой алгоритм не меняет первые n элементов после n-ой итерации, а потому может быть остановлен сразу после нее. В первых n элементах он будет содержать ответ на поставленную выше задачу.
На nerdВыбрать N из M, 7 месяцев назад
0
Ну мы же random_shuffle после n-ной итерации останавливаем, от величины m асимптотика вообще не зависит.

На SeyauaMajor problems during ACM-ICPC SEERC 2011, 7 месяцев назад
+24
Внезапно пост mihnevsev начинает обретать смысл, да? :о)

> Доступны Windows XP и Fedora 15, на компьютерах установлены обе системы. Более того, во время отсылки решения можно выбирать, под какой ОС будет тестироваться ваше решение.

А как же Мак для желающих? :о)
На самом деле очень крутое нововведение -- по логике вещей только так и должны происходить соревнования.
А что стоит на федоре из сред? Eclipse, QT Creator?

На MikeMirzayanovAbout the programming languages, 7 месяцев назад
0
Тоже спрашивали -- проблемы с запуском в песочнице
Я письмо писал с банкета, еще под впечатлением, поэтому оно было по манере подачи материала похоже на этот пост :о)
В кратце я ей указал на:
1. Очень скучное открытие далеко от отеля. У меня есть фотография, на которой видно, что во время открытия все либо спали, либо втыкали в телефон, либо общались, никто открытие, конечно, не слушал. И оно длилось о-о-очень долго. И уйти нельзя -- отель далеко.
2. Машинки, которые мы собирали из конструкторов, которые вручили потом детям из детского дома. Это было настолько тупо, что сложно передать обычным языком. Одна из машинок развалилась прямо на сцене, когда ее взяли, потому что их собирали для фана, абы как. Если такие щедрые, подарили бы детям сами конструкторы, а не собранные машинки. Ну и там некоторые дети были уже лет по 15. Мелкие-то радовались и такой машинке, а на лицах больших детей явно читалось непонимание.
3. Закрытие, на котором волонтеров назвали поименно, а команды -- нет. Передача медалей сразу после спуска со сцены, потому что одного комплекта не хватало :о)
4. На банкете банально не было мест. К половине столов не пускали, потому что они зарезервированы для организаторов. Банкет был далеко от отеля -- если мест не хватило, то уйти тоже нельзя.

Там еще были вещи по мельче, например 300 человек, одновременно подходящих к гардеробу, или едва говорящие по английски волонтеры, делающие объявления в автобусах.

После Финала в Харбине я написал Марше Путчер о "высоком уровне", на котором финал был проведен.
Она сказала, что если команда из моего региона пройдет еще раз на финал, она будет мне благодарна, если я с этой командой не приеду :о(

+58
Да я тоже говорю охренели уже, задачи дают с подводными камнями!