Рубрика «Занимательные задачки» - 24

Олимпиада SQL: разбор задачи про календарь - 1 Здравствуйте, в эфире Радио SQL!

Продолжаем тему популяризации языка SQL среди широких масс IT-населения нашей планеты, на этот раз в русскоязычной его части. Впрочем, жители других планет, тоже подтягивайтесь.

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

В этой статье я собираюсь провести разбор задачи про календарь, которую я давал на Олимпиаде по SQL, про которую я уже писал раньше. Захватывающая рекурсия и загадочные агрегатные функции, вложенные запросы и вооружённые группировки данных — всё это нас ждёт сегодня!

Обращаю внимание, что это именно разбор, а не готовое решение. Чтобы избежать тупого copy-paste, я намерено предприму пару действий, которые позволят получить готовый результат только тем, кто немного поработает головой.

Читать полностью »

Мы подготовили для Вас новый выпуск, ставшей уже традиционной, ITренировки — подборки задач с собеседований в IT-компании мира.
КДПВ
В отобранные задачи попали задачи с собеседований Samsung. Соискателю также могут задать вопрос про шифр и Шерлока Холмса (нет, не пляшушие человечки, как можно было подумать). Уровень сложности мы постарались варьировать — от простых до серьезных.
Читать полностью »

Магнасанти — самый большой и самый ужасный город SimCity - 1

Похоже на набор разноцветных квадратиков без смысла и цели? На самом деле за этой картинкой — злой гений и множество формул.

Это вид на Магнасанти — мегаполис, создатель которого попытался достичь предела численности населения в игре SimCity.

Присмотримся поближе:

Магнасанти — самый большой и самый ужасный город SimCity - 2

Винсент Оскала (Vincent Oscala), 22-летний студент из Филиппин и будущий архитектор, многие годы пытался найти формулу успеха в игре Sim City 3000.
Безумная, казалось бы, затея… однако благодаря огромным усилиям, вложенным в «борьбу» с SimCity, оказались подняты интересные вопросы о городских ландшафтах, в которых мы живем, и о том, в какой ужас они могут превратиться.

Магнасанти — самый большой и самый ужасный город SimCity - 3

После скрупулезного планирования и большого количества проб и ошибок Винсенту удалось построить город с населением более шести миллионов человек.
Более того, город получился на удивление стабильным, в нем не было заброшенных зданий и неиспользованного пространства. Не было и дорог — только общественный транспорт. Всеведущая полиция уничтожила всю преступность в городе. Потребности в воде и энергии Магнасанти обеспечиваются соседними городами — это позволяет убрать значительную часть соответствующей инфраструктуры.

Магнасанти — самый большой и самый ужасный город SimCity - 4

Переведено в Alconost
Читать полностью »

Подоспел очередной выпуск ITренировки — задач, предлагаемых на собеседования в ведущие IT-компании.

КДПВ

В подборку вошли задачи и вопросы от Facebook, которые задают желающим устроиться на должность разработчика. Традиционно, отобраны как простые задачи, так и не очень. Рекомендуем попробовать решить задачи самостоятельно, ссылку на оригинальные решения мы обычно добавляем в секцию ответов.
Читать полностью »

Продолжаем публиковать интересные задачи и вопросы с собеседований в различные IT-компании мира.

КДПВ
На этот раз в подборку попали вопросы для будущих инженеров-программистов в Symantec. В преддверии майский праздников, задачи выбраны не самые сложные, но требующие некоторого размышления. Просим также писать в комментариях интересные вопросы и задачи, которые встречались Вам на собеседованиях.
Читать полностью »

image

В соревновании MiniAICup#2 Почти Agar IO надо управлять амёбами, есть еду и других амёб.
Для реализации алгоритма управления амёбой напрашиваются потенциальные поля, но есть одно большое НО.
Читать полностью »

В JS API Яндекс.Карт существует возможность создавать различные объекты на карте. Один из их них – многоугольник, с помощью которого можно улучшить интерактивность пользовательской карты: выделить отдельные области или отобразить местоположение неточечного объекта. К примеру, так можно показать план строительства нового квартала или зоны доставки пиццы.

У пользователей API Яндекс.Карт давно появился вопрос о добавлении подписей поверх многоугольников. Люди предлагали хитрые решения, чтобы добавить подпись на объект в нужном месте, скрыть ее, перекрасить и т.п., но такие решения получались сложными и негибкими.

К примеру, к нам пришел отдел исследований Яндекса с просьбой написать удобный инструмент для подписи многоугольников после того, как они сделали несколько исследований на карте мира.

Сколько математики нужно, чтобы подписать многоугольник в JS API Яндекс.Карт - 1
Отображения региональных слов из словаря Даля, т.е слова которые ищут значительно чаще, чем в среднем по России

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

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

КДПВ

В Apple соискателями могут задать вопросы не только технического плана, но и о сокровищах и пиратах (интересно, связано ли это с позицией компании в отношении нелегального контента?). Вопросы и задачи, как всегда, разного уровня сложности. В целом, нужно отметить, что доля логических задач вытесняется чисто техническими вопросами, но тем не менее, головоломки на собеседованиях все ещё встречаются.
Читать полностью »

Если вы уже не первый год ведете какой-то проект, поверьте не похож ли он на нож мясорубки из истории №1 или на тарелку из истории №2

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

История №1

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

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

В 1987 году отдел роботизации и автоматизации завода «Электросила» разработал безумно дорогого супер-робота, который точно повторял движение рук рабочего (напоминаю, что это было 30 лет назад (!)), но его производительность оказалась столь малой, что рабочего вернули на заточку, чуть ли не на следующий день.

Для решения проблемы, был вызван внешний консультант из одного НИИ. Консультант начал свою работу, естественно с анализа….
Читать полностью »

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

Пусть $f(x)$ — бесконечно много раз дифференцируемая действительная функция, причем для каждой точки $xin R$ найдется натуральное $n$ такое, что $f^{(n)}(x)=0$. Тогда $f(x)$ многочлен.

Доказательство

Нам понадобится теорема Бэра о системе замкнутых множеств:

1. Пусть $H$ и $F_{1},F_{2},...,F_{n},...$ замкнутые подмножества прямой, причем $H neq varnothing$ и $Hsubset bigcup limits_{n} F_{n}$. Тогда в $H$ найдется точка, которая содержится в одном из $F_{n}$ вместе со своей окрестностью. Более точно, найдется точка $xin H$, натуральное $n$ и $varepsilon >0$ такие, что $(x-varepsilon;x+varepsilon)cap H subset F_{n}$.

Действительно (от противного), выберем точку $x_{1} in H$ и окружим ее окрестностью $Delta_{1}=(x-varepsilon_{1};x+varepsilon_{1})$, где $varepsilon_{1}<1$. Мы предположили, что утверждение теоремы Бэра не верно. Значит $Delta_{1} cap H not subset F_{1}$. Выберем в $Delta_{1} cap H$ точку $x_{2}notin F_{1}$. Окружим $x_{2}$ интервалом $Delta_{2}=(x_{2}-varepsilon_{2};x_{2}+varepsilon_{2})$ таким, что концы этого интервала — точки $x_{2}-varepsilon_{2}$ и $x_{2}+varepsilon_{2}$ лежат в $Delta_{1}$, а $varepsilon_{2}<frac{1}{2}$. По предположению $Delta_{2}cap Hnotin F_{2}$. Это позволяет выбрать в $Delta_{2} cap H$ некоторую точку $x_{3} notin F_{2},...$ Продолжая процесс, мы построим вложенную стягивающуюся последовательность интервалов $Delta_{1}supset Delta_{2}supset ...$ Ясно, что

$x_{1}-varepsilon_{1}< x_{2}-varepsilon_{2}<...<x_{n}-varepsilon_{n}...$, (1)
$x_{1}+varepsilon_{1}>x_{2}+varepsilon_{2}>...>x_{n}+varepsilon_{n}...$ (2)

Так как каждый промежуток $Delta_{i}cap Hneq varnothing$, то $lim _{ito infty}(x_{i}-varepsilon_{i})=lim_{itoinfty} (x_{i}+varepsilon_{i})=y, yin H$, а из (1) и (2) следует, что $yin Delta_{i}$ для каждого $i$. Таким образом мы нашли точку $y in H$, но не лежащую ни в одном из множеств
$F_{i} phantom{1} (i=1,2,...)$.

Скажем, что точка на действительной прямой правильная, если в некоторой окрестности этой точки функция $f(x)$ — многочлен. Множество всех правильных точек обозначим символом $E$. Множество $E'$, дополнительное к $E$ обозначим через $F$ и назовем множеством неправильных точек. (Будем говорить, что если $xin F$, то $x$ — неправильная точка).

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js