Pull to refresh
156
0
Владислав Исенбаев @winger

Уверенный пользователь

Send message
Ага, и если компания хочет 1000000$ то первый покупатель пусть заплатит 500000$?
Я имел ввиду
foreach(int l in candidates.Keys) if (candidates[l]-- == 0) candidates.Remove(l);
Правда я только что осознал что амортизированно там будет O(1) декрементов :)
Асимптотика второго алгоритма будет O(N*k) из-за foreach(int l in candidates.Keys).
Можно и в Питере :)
c(9,3)=84, все равно большая вероятность угадать
Зачем в такой реализации нужны ссылки на родителя вершины?
Я рассматриваю случай когда реализации sort и sorted действительно соответствуют своим названиям — и утверждаю что в этом случае для доказательства их корректности обязательно потребуется еще один аргумент.
Без доказательства что cmp образует линейный порядок тоже ничего не получится — иначе отсортированная последовательность может не существовать (например если cmp всегда возвращает false)

А то что без определений никак это очевидно)
Относительно трудоустройства посредством спортивного программирования могу посоветовать сайт www.interviewstreet.com/
Начинать никогда не поздно :)
В качестве смысла могу предложить следующие варианты:
а) Just for fun — многие (включая меня) считают олимпиады веселым и интересным времяпрепровождением
б) Помогает поддерживать мозги в тонусе
в) При определенном уровне можно объездить кучу разных мест благодаря онсайтам соревнований ;)
г) Помогает при подготовке к собеседованиям в стиле «Как сдвинуть гору Фудзи»
Как минимум, в sort-sorts необходимо передавать еще доказательство того, что cmp образует полный порядок
Очень даже помогает :)
Строчки в резюме о хороших результатах в крупных соревнованиях резко повышают шанс что его заметят, а олимпиадный опыт помогает сконцентрироваться на собеседовании, да и задачи обычно задают несложные с точки зрения олимпиадника.

Статистика среди моих знакомых показывает что у людей, занимающихся спортивным программированием, большой шанс съездить на стажировку и/или устроиться работать в Google/Facebook/Microsoft/etc.
github.com/winger/agda-stuff/blob/master/Splay.agda — реализация splay-дерева с доказательствами, правда пока есть пара пробелов, не хватает времени дописать
Для agda есть замечательный emacs agda-mode, в нем есть сочетания для набора математических символов и goals, существенно облегчающие разработку/доказательства.
Goal, грубо говоря, «дырка» в программе, для которой agda показывает необходимый тип выражения и все выражения которые есть в контексте с их типами.
Алгоритмы, структуры данных, вычислительная сложность.
Спортивное программирование: ACM, topcoder, codeforces etc.
Было бы интересно добавить в сравнение другие JVM языки с lambda, например Scala
Чем обусловлен ваш выбор Coq в качестве proof-asstant'а? Почему например не agda?
Лопатин — тренер СПбГУ. СПбГУ != СПбГУ ИТМО
Гена в школе :) А чемпионат студенческий

Information

Rating
Does not participate
Location
Berkeley, California, США
Date of birth
Registered
Activity