• От парсера афиши театра на Python до Telegram-бота. Часть 1


      Я очень люблю оперу и балет, но не очень — отдавать большие деньги за билеты. Ежедневный просмотр сайта театра с тыканьем в каждую кнопку ужасно утомлял, а внезапно появлявшиеся билеты по 170 рублей на супер-составы бередили душу.
      Чтобы автоматизировать это дело появился скриптик, который бежит по афише и собирает информацию о самых дешевых билетах на выбранный месяц. Запросы из серии «выдай список всех опер в марте на старой и новой сцене до 1000 рублей». Подруга обронила «а ты не Telegram-бота делаешь?». Такого в плане не было, но почему бы и нет. Бот родился, хоть и крутился на домашнем ноутбуке.
      Потом Telegram заблокировали. Мысль запулить бота на рабочий сервер растаяла, да и интерес, чтобы довести функционал до ума, угас. Под катом рассказываю о судьбе сыщика дешевых билетов с самого начала и о том, что с ним сталось после года использования.
      Читать дальше →
    • Разбор задач. Бинпоиск_1

      Здравствуйте, уважаемые хабровчане. Серия статей содержит разбор задач, которые дают в 8 классе на уроках информатики в Челябинском физико-математическом лицее №31. Немного истории… Наш лицей — одно из сильнейших учебных заведений России, который в рейтинге по конкурентоспособности выпускников занимает 5 место, уступив школам Москвы и Санкт-Петербурга. Ученики регулярно побеждают на олимпиадах всероссийского и международного уровня.
      Данная статья лишена теории, она содержит только способы решения задач. Подробно про бинпоиск описано здесь.
      Так вот, перейдем к задачам. Эти задачи подразумевают собой использование бинарного поиска, в том числе бинпоиска по ответам. Как мы знаем бинпоиск — это алгоритм поиска объектов по заданному признаку в множестве объектов. Применяем для отсортированных по возрастанию/убыванию списков. Всего 4 задачи, 2 из которых направлены на применение "алгоритма без изюминок".

      Читать дальше →
      • +21
      • 4,4k
      • 9
    • Мат слоном и конём. Метод TWIX


        Ушенина (на фото слева, играет белыми) — Гиря (на фото справа, играет чёрными). Ничья.
        Гран-При среди женщин, 4-й тур
        6 мая 2013 года, Женева


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

        Имея на две фигуры меньше, она нашла остроумный способ добиться ничьей с чемпионкой мира (на тот момент) Анной Ушениной. Ольга просто разменяла всё, что только можно и свела партию к эндшпилю «король + слон + конь VS король». Украинская шахматистка полсотни ходов безуспешно пыталась заматовать вражеского короля, после чего результат партии был признан ничейным.

        Обидная ничья существенно повлияла на результат Ушениной в турнире. Она заняла 5-6 место, а выигрыш позволил бы разделить бронзу (3-5 место).
        А если бы знала метод TWIX - всё было бы иначе
      • Кастомизируем select на чистом css

        Как-то вечером я убивал время, читая статьи в интернете, и наткнулся на вот этот хабропост пользователя Cyapa, где расписано, как кастомизировать select на чистом css. В процессе просмотра данного решения нашел несколько весьма неудобных моментов, которые постарался исправить в своем решении этой задачи. Итак, приступим.
        Читать дальше →
      • Некоторые задачи школьной математики. Часть II

          Часть I. Дроби
          Часть II. Модули

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

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

          Рассмотрим метод оценок при решении неравенств.

          Предположим, что цена за одну единицу товара может колебаться в пределах от 5 до 10 RUB. Дать оценку сверху означает определить максимальное значение, которое может принимать искомая величина. Для двух единиц товара, цена за который не превышает 10 оценка сверху составит 10+10=20.

          Рассмотрим задачу из задачника профильной направленности М.И. Башмакова
          37. Известны оценки для переменных $ x $ и $ y: 0<x<5, 2<y<3.$

          Дайте оценки сверху для следующих выражений:
          1. $ 2x+3y $
          2. $ xy $

          Указание к решению задач 5 и 6
          Для оценки дробных выражений необходимо воспользоваться следующим свойством числовых неравенств:

          • Если $a<b$ и оба числа положительны, то $ \frac{ 1 }{a}>\frac{ 1 }{b}$


          5. $ \frac{ 1 }{y} $
          6. $ \frac{ x }{y} $

          8. $ x-y $
          9. $ 3x-2y $
          Ответы
          1. $ 2x+3y<19 $
          5. $ \frac{ 1 }{y} < \frac{ 1 }{2} $
          9. $ 3x-2y<11 $

          Читать дальше →
          • +15
          • 6,2k
          • 1
        • Правильный выбор: практическое исследование когнитивных способностей человекообразных обезьян



            Что общего между шваброй, письменным столом, автомобилем и телескопом Хаббл? Все это разные и по сложности реализации, и по цели применения, и по важности вещи. Однако их можно объединить в одну общую категорию — инструменты. Все эти предметы мы, люди, используем как помощь в достижении той или иной цели: чистоты в квартире, удобного написания статьи, сокращения времени на путь от точки А в точку В, удовлетворение безграничного любопытства и жажды знания в виде исследования Космоса.Именно использование инструментов и является одним из характерных признаков развитого интеллекта. Но еще более важным показателем наличия извилин в голове является умение выбирать, в частности выбирать подходящий инструмент, если он нужен. Вы же не будете мыть полы лопатой. И не потому, что это будет выглядеть странно, а потому, что это неудобно. Другими словами, достижение цели в виде чистого пола будет сопряжено с лишними сложностями ввиду выбора неверного инструмента.

            Человек способен делать выгодный для себя выбор, а как обстоят дела с этим умением у человекообразных обезьян? Ответ на этот вопрос решили найти ученые, которые провели ряд тестов с участием «лесных людей», то есть орангутанов. Способны ли они выбирать более выгодные условия и более удобные инструменты или нет, мы узнаем из доклада исследовательской группы. Поехали.
            Читать дальше →
            • +10
            • 2,3k
            • 5
          • Имитатор чтения статей

            Добрый день уважаемые. Хотелось бы поделиться своей историей и маленьким лайфхаком.


            Думаю у всех офисных работников бывает ситуация, когда после вкусненького обеда сильно разморило и хочется вздремнуть. На самом деле, дневной сон очень полезен как для организма, так и для работы, так как очень положительно влияет на продуктивность. Однако по моему опыту, более 20 минут — явный перебор. Этого достаточно чтобы организм привел себя в норму. И спустя буквально минуту, в течение которой очень хочется продолжить спать, организм просыпается, чувствуется бодрость и прилив сил.


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

            Читать дальше →
          • Делимые факториалы

            • Перевод
            Недавно я был совершенно сбит с толку этим твитом «Библиотеки Ферма»:


            «Вот что получится, если в факториале не умножать, а делить.»

            Когда я увидел его, мне пришлось бросить свои дела, схватить блокнот и проверить формулу. Результат в черновом виде казался логичным. Так как мультипликативная версия $n!$ при увеличении $n$ стремится к бесконечности, то «делительная» версия должна стремиться к нулю. И $\frac{n^2}{n!}$ ведёт себя именно так; полиномиальная функция $n^2$ растёт медленнее, чем степенная функция $n!$ для достаточно больших $n$:

            $\frac{1}{1}, \frac{4}{2}, \frac{9}{6}, \frac{16}{24}, \frac{25}{120}, \frac{36}{720}, \frac{49}{5040}, \frac{64}{40320}, \frac{81}{362880}, \frac{100}{3628800}$


            Но почему результат деления принимает именно вид $\frac{n^2}{n!}$? Откуда берётся $n^2$?
            Читать дальше →
          • Вероятность выигрыша матча при известной вероятности выигрыша очка II

              Если Вы не читали мою первую статью на тему, советую начать с нее.

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

              Нас может интересовать как меняется вероятность выигрыша игры при изменении вероятности выигрыша очка. Фактически мы хотим посчитать производную от первого по второму. Простейший подход — оценить ее на глаз из графика. Видно, что максимум достигается в ситуации 50:50. При изменении шансов выигрыша очка с 0.45 до 0.55 вероятность победы в бадминтон возрастает с 0.26 до 0.74, то есть на 0.48. Грубая оценка дает производную в районе 5. То есть если с равных шансов Вы растете до 0.51 (то есть 51%), прирост в вероятности выигрыша игры будет около 0.05 (или 5%). Аналогичным образом можно посчитать производную в любой другой точке на графике.
              Читать дальше →
              • +12
              • 2,4k
              • 4
            • Советский номерной знак и колмогоровская сложность

              • Перевод
              image


              Физик Лев Ландау играл в ментальную игру с советскими номерами[1]. Таблички имели форму двух цифр, тире, еще двух цифр и некоторых букв.

              Правила игры


              Его игра заключалась в том, чтобы применять математические операторы к числам по обе стороны от тире, чтобы тире можно было заменить на знак равенства. Например, если взять номерной знак 44-74, одним из решений будет

              4! + 4 = 7 * 4

              Обратите внимание, что мы можем вставить операторы, такие как !, + и *, но не добавляя цифр.

              Есть ли решение для каждого возможного номерного знака? Это зависит от того, какие операторы вы разрешаете использовать.

              Вы можете тривиализировать игру, применив операцию дробной части { x } к обеим сторонам, поскольку дробная часть целого числа равна нулю. Вы можете запретить оператор дробной части на том основании, что это явно не математическая операция старшей школы, или просто запретить ее, потому что она делает игру неинтересной.
              Читать дальше →

            Самое читаемое