Как стать автором
Обновить
62.55

Занимательные задачки

Разминаем мозги

Сначала показывать
Порог рейтинга
Уровень сложности

Информационные технологии в новогоднем мюзикле «Чародеи»

Время на прочтение 5 мин
Количество просмотров 26K
Одним из символов Нового Года для меня всегда был (и до сих пор остаётся) прекрасный мюзикл «Чародеи». И дело не только в хороших песнях, отличном актёрском составе или атмосфере сказки. Фильм «Чародеи» — это ещё один взгляд на любимый многими мир книги «Понедельник начинается в субботу» братьев Стругацких. Авторами сценария фильма тоже были они (хотя многое в нём пришлось переделать вопреки их оригинальной идее).

«Что все эти размышления делают на Хабре?» — спросите вы. Ну, во-первых, на дворе Новый Год, а во-вторых, «Понедельник начинается в субботу» — это книга для программистов («Сказка для научных сотрудников младшего возраста») и о программистах (профессия главного героя книги). Уже на первой странице книги мы видим, например,

Пример хед-хантинга ценного специалиста в безденежный, но интересный проект
«А где вы работаете?» Я ответил. «Колоссально! – воскликнул горбоносый. – Программист! Нам нужен именно программист. Слушайте, бросайте ваш институт и пошли к нам!»… «Интереснее, чем у нас, вам нигде не будет». – «Почему вы так думаете?» – «Уверен».

Фильм тоже показывает нам волшебство как результат сложной и наукоёмкой деятельности простых, в общем-то, людей. Никаких тут тебе „ты был рождён в семье волшебников и унаследовал дар...“ и прочих философских камней и корня мандрагоры. Лаборатория Абсолютных Неожиданностей в фильме выглядит как классический вычислительный центр любого НИИ тех лет:



А теперь я хочу рассказать об одном вопросе, связанном с информационными технологиями в данном фильме, который интересовал меня уже много лет и для решения которого я даже писал письмо Борису Стругацкому, когда он был ещё жив (хотя и не получил ответа). При каждом из многочисленных просмотров фильма „Чародеи“ меня удивлял в нём один эпизод (осторожно, под катом будут спойлеры!).
Читать дальше →
Всего голосов 63: ↑59 и ↓4 +55
Комментарии 61

Как стать первым в спортивном программировании: Университет ИТМО делится опытом. Часть 2

Время на прочтение 8 мин
Количество просмотров 12K
Мы продолжаем рассказывать о курсе «How to Win Coding Competitions: Secrets of Champions», который Университет ИТМО запустил на платформе edX в этом году (первую часть материала читайте здесь).

Во второй части нашей беседы с авторами и инструкторами курса — Максимом Буздаловым и Павлом Кротковым, чемпионами ACM ICPC, и Дарьей Яковлевой, призером Google Code Jam for Women, речь пойдет о том, важен ли победителям олимпиад правильный настрой, как развить навык поиска креативных решений и кому будет полезен курс от чемпионов Университета ИТМО.

Читать дальше →
Всего голосов 26: ↑24 и ↓2 +22
Комментарии 6

Об одной комбинаторной задаче

Время на прочтение 2 мин
Количество просмотров 10K

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


Итак, начну издалека. Я изучал стационарные локализованные структуры в одномерном уравнении Гросса-Питаевского, [пример работы]. Такие структуры, при некоторых достаточных условиях на параметры задачи, можно кодировать бесконечными в обе стороны символическими последовательностями, которые мы называем кодами. То есть, непрерывные решения дифференциального уравнения классифицируются дискретными кодами. Алфавит кодировки, как правило, конечен и состоит из некоторого нечетного числа символов, например из N=2L+1 символов, где L – натуральное число. В алфавите есть нулевой символ , а все остальные символы делятся на пары, связанные некоторой симметрией. Для простоты мы будем обозначать алфавит кодировки A=\{i\}_{i=-L}^L, где символы i и -i симметричны друг другу. Число N мы будем называть мощностью алфавита A.

Читать дальше →
Всего голосов 24: ↑23 и ↓1 +22
Комментарии 7

Как стать первым в спортивном программировании: Университет ИТМО делится опытом. Часть 1

Время на прочтение 8 мин
Количество просмотров 21K
В этом материале мы расскажем о новом курсе, который был запущен Университетом ИТМО на платформе edX в этом году. Под катом – рассказ о проекте «How to Win Coding Competitions: Secrets of Champions» и большое интервью с авторами и инструкторами курса, в котором они рассуждают о том, что должен знать и уметь будущий победитель, и делятся своим опытом и воспоминаниями от участия в олимпиадах по программированию.

Читать дальше →
Всего голосов 24: ↑21 и ↓3 +18
Комментарии 12

Истории

Преобразование формы представления данных при помощи Excel+PowerQuery

Время на прочтение 5 мин
Количество просмотров 15K

В нашем менеджерском труде есть много хорошего и не очень. Но ничто не портит нам жизнь так, как многочисленные эксельки, в которых постоянно нужно что-то ВПР-ить, СУММ-ировать, СУММПРОИЗВ-одить и заниматься прочими рутинными операциями, отнимающими кучу времени и сил. Есть инструмент, позволяющий если не убрать, то минимизировать рутину везде, где есть паттерны данных. Итак, вашему вниманию предлагается чуть более глубокое погружение в принципы работы PowerQuery.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 1

Занимательные задачки и отрывок из книги «Карьера программиста»

Время на прочтение 16 мин
Количество просмотров 17K
image Привет, Хаброжители! Ранее мы уже анонсировали книгу «Карьера программиста. 6-е издание" Гейлы Лакман Макдауэллы в этом посте. Теперь мы получили электронные права на эту книгу, а значит можем поделиться главой «Java» и предложить решить задачки:

1. Разработайте алгоритм для поиска наименьших К чисел в массиве.
2. Напишите функцию суммирования двух чисел без использования "+" или любых других арифметических операторов.
3. Для двух квадратов на плоскости найдите линию, которая делит эти два квадрата пополам. Предполагается, что верхняя и нижняя стороны квадрата проходят параллельно оси x.

Тем, кто предложит аргументированные решения — мы, с удовольствием, отправим электронную книгу в качестве подарка.
Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 42

Гигантская компонента: крючки для рыбалки, скопления галактик, молекулярная биотехнология, наноматериалы

Время на прочтение 8 мин
Количество просмотров 12K
Занимаясь переводами Кнута, я наткнулся на упоминание очень интересного свойства нашей вселенной. Рождение гигантской компоненты. Каждый встречался с этим феноменом. Я, например, помню коробочки с рыболовными крючками. Когда крючков было 5-15 все нормально, но есть определенная критическая масса, после которой получался единый комок. Интуитивно я чувствую, что это очень важный феномен, который проявляется во многих дисциплинах — от теории информации, до молекулярной химии и биотехнологии. Предлагаю вашему вниманию перевод легкой и наглядной статьи на эту тему. Слово Brian Hayes.

image


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

На днях я сделал открытие: если вы захватите одну из выброшенных скоб и поднимите ее, целый клубок спутанного искореженного металла поднимется вслед за ней, оставляя лишь пару скоб на дне чаши. Когда я заметил это, я сначала подумал «Хм, это забавно». Потом «О, конечно: Erdős-Rényi». А третей мыслью… ну я все еще работаю над ней, а еще над четвертой, пятой и шестой.
Всего голосов 32: ↑27 и ↓5 +22
Комментарии 11

Превозмогая трудности: Gravity Defied на sed

Время на прочтение 5 мин
Количество просмотров 9.1K
image Итак, эта статья посвящается тем, кто любит решать нестандартные задачи на не предназначенных для этого инструментах. Здесь я опишу основные проблемы, с которыми столкнулся во время создания аналога игры Gravity defied с использованием потокового текстового редактора (sed).

Далее предполагается, что читатель хотя бы немного знаком с синтаксисом sed'ом и и написанием скриптов под bash.
Читать дальше →
Всего голосов 42: ↑41 и ↓1 +40
Комментарии 8

Объясняем бабушке, как написать свой язык программирования

Время на прочтение 4 мин
Количество просмотров 30K
Это игровая площадка, где я попытаюсь объяснить, как создать малюсенький язык программирования (Mu). Можно посмотреть вживую на открытые исходники здесь или скачать тут. Туториал можете прочитать прямо сейчас.

image

Пишем свой язык программирования (на Swift)


Для того, чтобы написать свой язык программирования, необязательно иметь степень в Computer Science, достаточно понимать 3 базовых шага.

Язык: Mu(μ)


Mu — это минимальный язык, который содержит постфиксный оператор, бинарную операцию и «одноциферные» числа.

Пример: (s 2 4) or (s (s 4 5) 4) or (s (s 4 5) (s 3 2))…
Всего голосов 35: ↑24 и ↓11 +13
Комментарии 13

«Пятничный формат»: Что случится, когда закон Мура перестанет действовать

Время на прочтение 5 мин
Количество просмотров 13K
Сегодня законом Мура называется почти любая экспоненциальная или другая закономерность. Что же на самом деле говорил Гордон Мур? В своей статье 1965 (пункт «Costs and Curves») он говорит об удвоении компонентов на интегральной микросхеме каждый год при минимально возможной выгодной цене. Позднее, в статье 1975 года он вводит другой временной показатель — 2 года.

Цифру 18 месяцев и само высказывание об увеличении мощности процессоров, наряду с увеличением их количества и тактовой частоты, сам Мур в одном из интервью приписывает Дейву Хаусу (Dave House), сотруднику Intel. Однако в некоторых источниках, например, тут, именно это и понимают под законом Мура. Даже на сайте Intel закон формулируется именно так.

Читать дальше →
Всего голосов 26: ↑24 и ↓2 +22
Комментарии 31

Порождение и выбор моделей машинного обучения. Лекция в Яндексе

Время на прочтение 11 мин
Количество просмотров 22K
Применение машинного обучения может включать работу с данными, тонкую настройку уже обученного алгоритма и т. д. Но масштабная математическая подготовка нужна и на более раннем этапе: когда вы только выбираете модель для дальнейшего использования. Можно выбирать «вручную», применяя разные модели, а можно и этот процесс попробовать автоматизировать.


Под катом — лекция ведущего научного сотрудника РАН, доктора наук и главного редактора журнала «Машинное обучение и анализ данных» Вадима Стрижова, а также большинство слайдов.

Всего голосов 50: ↑49 и ↓1 +48
Комментарии 1

Задача коммивояжера методом Литтла на C++

Время на прочтение 8 мин
Количество просмотров 29K
Обучаясь в университете, каждому приходилось делать разного рода задачи. Вот, наступает конец полугодия, сессия на носу, начало выдачи курсовых заданий и мне посчастливилось стать тем, кто должен реализовать метод Литтла для задачи коммивояжера. Итак начнем.

Кто такой коммивояжер? Коммивояжер — это разъездной торговый агент какой-либо фирмы, предлагающий покупателям товары по образцам и каталогам. Его задача объездить все пункты назначения, не побывав ни в одном дважды и вернуться в точку старта.

image

Читать дальше →
Всего голосов 22: ↑18 и ↓4 +14
Комментарии 6

[ZeroNights2016] [CTFzone] Без 100 грамм не разберёшься

Время на прочтение 7 мин
Количество просмотров 8.7K


Продолжаем цикл статей, посвященный райтапу по CTFzone, который проходил 17 и 18 ноября в рамках ZeroNights2016 под флагом Bi.Zone. В этот раз мы поговорим о заданиях, выполнение которых приносило по 100 очков в пользу реальных хакеров!
Продолжение внутри
Всего голосов 17: ↑15 и ↓2 +13
Комментарии 6

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн

[ZeroNights2016] [CTFzone] Разбор полётов за 50

Время на прочтение 3 мин
Количество просмотров 7K


Ну, что же, вот и завершился ZeroNights 2016. Хотелось бы поблагодарить организаторов данного мероприятия и всех её участников: за два дня прозвучало множество удивительных дайджестов, мы делали себе алкогольные коктейли, думали как взломать «умный дом», доказывали свой интеллект в викторинах и, разумеется, множество участников CTF попытались побороться за звания «лучших в своём деле» — одними из таких стали и мы. В связи с вышеизложенным, данный цикл статей посвятим райтапу по CTFzone.
Продолжение внутри
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 3

Повседневная Теория решения изобретательских задач

Время на прочтение 4 мин
Количество просмотров 6K
Вы когда-нибудь задумывались, почему некоторые вещи стали такими? Как создали смывающуюся втулку в рулоне туалетной бумаги? Почему стали делать другие крышки в упаковках для сока?

Читать дальше →
Всего голосов 15: ↑2 и ↓13 -11
Комментарии 24

Решение пасхалки из анонса CTF от Bi.Zone

Время на прочтение 2 мин
Количество просмотров 4.9K

За несколько недель перед стартом регистрации на CTF, организованный компанией BI.Zone, на различных информационных порталах был выложен анонс этого мероприятия.

Если посмотреть на анонс, например, на сайте ZN2016, то можно заметить некоторую странность в форматировании текста.
Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 0

Думаешь, ты знаешь Си?

Время на прочтение 4 мин
Количество просмотров 52K
image

Многие программисты утверждают, что знают С. Ну что ж, у него самый известный синтаксис, он существует уже 44 года и он не захламлен непонятными функциями. Он прост!

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

Если вы думаете что он прост — пройдите этот тест. В нем всего 5 вопросов. Каждый вопрос в принципе одинаковый: какое будет значение возврата?
Всего голосов 60: ↑44 и ↓16 +28
Комментарии 270

Синтез изображений с помощью глубоких нейросетей. Лекция в Яндексе

Время на прочтение 15 мин
Количество просмотров 48K
Пусть в блоге Яндекса на Хабрахабре эта неделя пройдет под знаком нейронных сетей. Как мы видим, нейросети сейчас начинают использоваться в очень многих областях, включая поиск. Кажется, что «модно» искать для них новые сферы применения, а в тех сферах, где они работают уже какое-то время, процессы не такие интересные.

Однако события в мире синтеза визуальных образов доказывают обратное. Да, компании еще несколько лет назад начали использовать нейросети для операций с изображениями — но это был не конец пути, а его начало. Недавно руководитель группы компьютерного зрения «Сколтеха» и большой друг Яндекса и ШАДа Виктор Лемпицкий рассказал о нескольких новых способах применения сетей к изображениям. Поскольку сегодняшняя лекция — про картинки, то она очень наглядная.


Под катом — расшифровка и большинство слайдов.

Всего голосов 87: ↑84 и ↓3 +81
Комментарии 10

Теория решения изобретательских задач на пальцах

Время на прочтение 4 мин
Количество просмотров 123K
Представьте, перед вами встала проблема, как улучшить какую-то вещь, или как что-то заставить работать. Как придумать что-то новое? Для этого и была придумана Теория решения изобретательских задач. В данном топике я на пальцах попробую рассказать, о чем это


Читать дальше →
Всего голосов 19: ↑11 и ↓8 +3
Комментарии 26

DisTalk. Если ты не умеешь читать, это не значит то, что ты не можешь общаться

Время на прочтение 3 мин
Количество просмотров 9.7K
Всем привет! Сегодня я расскажу о приложении DisTalk Pro. Я должен извиниться за паузу в моих постах, опять спасал мир подбивал итоги четверти, выиграл серебряную медаль кубка России по бочча в тройках, выступил на форуме Обнаженные сердца. Но обещание есть обещание, и на этой неделе я выложил новую версию программы DisTalk в Google Play и на GitHub.

Для тех кто не понимает, о чем я говорю, советую почитать эту статью.


DisTalk Pro
Читать дальше →
Всего голосов 47: ↑46 и ↓1 +45
Комментарии 12

Вклад авторов