воскресенье, 6 декабря 2020 г.

Подготовка

Мишу из школы направляют на региональную олимпиаду по информатике и выдали примеры задач для подготовки. Он их делает на Питоне, а потом мы сложные случаи разбираем. Задачи проверяются на сервере, который работает с 9 утра до 9 вечера. Ограничения для всех задач: по времени - 2 секунды, по памяти - 256 мегабайт. Задачи очень разные! Есть элементарные:
Задано четыре числа. Требуется разбить их на две пары, чтобы сумма произведений в этих парах была максимальной. Например, для чисел 2,3,4,5 надо вывести 26 (2*3+4*5).

А бывают архисложные, требующие подключения серьёзного математического аппарата:
Для целого положительного числа от 1 до 1000 требуется найти число способов представить его в виде суммы нечётных слагаемых. Порядок слагаемых неважен. Например, для числа 6 надо вывести 4. Сами разбиения выводить не надо:
[1+1+1+1+1+1], [3+1+1+1], [3+3], [5+1]

Я сначала решил "в лоб" - прямым перебором, используя Set для фильтрации. Потом ускорил в несколько сотен раз, отказавшись от Set. Это позволило мне обнаружить, что происходит переполнение для больших чисел. Посему мне пришлось заменить long на BigInteger, замедлив программу раза в два.
fun count(array: IntArray, size: Int): BigInteger {
  var count = BigInteger.ONE
  val size2 = size - 2
  if (size > 2 && array[size - 1] == 1 && array[size2] == 1) {
    array[0] += 2
    count = count.plus(count(list, array, size2))
    array[0] -= 2
    var index = 0
    while (++index < size2) {
      if (array[0] == array[index]) continue
      if (array[0] == array[index] + 2) {
        array[index] += 2
        count = count.plus(count(list, array, size2))
        array[index] -= 2
      }
      break
    }
  }
  return count
}
Тут стало очевидно, что после 170 мы перестаём укладываться в две секунды и подсчёт ответа для 400 занял более двух дней:
in: 100; out: 444793; time: 21 ms
in: 200; out: 487067746; time: 7958 ms
in: 300; out: 114872472064; time: 1873429 ms
in: 400; out: 11962163400706; time: 196301147 ms

Написал код для вывода комбинаций и пытаемся анализировать, чтобы для получившейся выше рекурсивной функции вывести формулу, ибо полный перебор - это уже перебор. 8)

суббота, 5 декабря 2020 г.

Genco Barbers

Недавно у нас рядышком открылась мужская парикмахерская и мы с Лёшкой решили в ней постричься. Как оказалось, зря. В салонах стригут заметно лучше, хотя дольше и дороже. В Часцах и то лучше стригут. А в Питере хорошая парикмахерская была у армян в какой-то подворотне на Василевском острове. У нас же только салоны красоты...

пятница, 4 декабря 2020 г.

И так бывает

Не прошло и шести лет, как я обнаружил, что у Stavic при длинном нажатии на кнопку запускается автоматическое опускание стекла. Причём работает это только с кнопкой для водительской двери и только на опускание.

У Scenic автоматическое опускание и поднимание стёкол работало для всех дверей и было более интуитивно понятным.

Тренировка

Сегодня фотографий не будет, ибо я оставил телефон в машине. Занимались короткими и широкими переносами, учились менять темп стрельбы в зависимости от расстояния до мишени и работали с таймером. У меня лучшее время - 6.6 секунды на 5 попперов.

Почта

У Мишки стал глючить его Galaxy A3 и мы решили подарить ему новый телефон на день рождения. Заказал ему новый на AliExpress. Оказалось, что там тоже пошлину надо платить.
Даже прислали формулу расчёта таможенного платежа:
15% * (18 712,82 - 18 046,28) рублей = 99,98 рублей.

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

среда, 2 декабря 2020 г.

Мусорная реформа

У нас к клетке для пластика добавили контейнер для бутылок. Бутылка запихивается с трудом - дырка не разработана:

Подарок ко дню рождения

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

Жаль, что рукава коротковаты, но на меня вообще сложно найти пошив.

IntelliJ IDEA 2020.3

Встречайте новую версию!
А мы начинаем работы над следующим релизом...

вторник, 1 декабря 2020 г.

Тяжёлая техника

Продолжаю возиться в грязи. Так и не понял, как завершить миссию, когда всё сделал. Зато ни одного забора не раздавил:

воскресенье, 29 ноября 2020 г.

суббота, 28 ноября 2020 г.

MudRunner

Сейчас Epic Games раздаёт игру про езду по говнищу на советских внедорожниках. Я сегодня немного покатался:

Рыбка моя

пятница, 27 ноября 2020 г.

Вещи смотрят на нас

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

Тренировка

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

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


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

четверг, 26 ноября 2020 г.

Телеграмм

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

Ну а чтение новостей через Telegram - тот ещё прикол. Во-первых, читать можно только тех, кто в Telegram пишет. Во-вторых, длинные серьёзные статьи неудобно читать. Я больше к RSS привык через Feedly, где можно читать разные сайты и работать с информацией.

У меня Telegram, конечно, есть, но только потому, что там был чатик коллег по AWT. Но он как-то сам собой отвалился...

Реклама

Отличный ролик, связанный с удалённой работой:

среда, 25 ноября 2020 г.

Black Mesa

Для этой игры вышло большое обновление. В основном, обновили модели на начальных уровнях. Надеюсь, что будет так же круто, как на Xen.

Коронавирус

У моего коллеги дочка заболела, взяли анализ на COVID-19 и он оказался положительный.

Сейчас у него жена с температурой, но "официально" она не болеет, ибо выяснилось, что обстоятельства “бесплатных” анализов изменились по всему городу буквально неделю назад: мазков очень мало из-за какого-то приказа. Врач им сказала, что на весь наш микрорайон (тут тысяч 30 живёт) всего 16 мазков на неделю квота и у “контактных” анализы не берут теперь.

Медицина переключилась в режим работы "ради статистики, не ради людей". Нам, похоже, повезло.

Аптека

Сегодня в нашей аптеке увидел странное - 60 таблеток стоят заметно меньше 30 таблеток.

Chrome 87

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