TGViewer
Channel Public Channel
Боря программирует

Боря программирует

@bminaiev_blog

Рассказываю истории про соревнования по программированию, Rust и вещи, которые сейчас изучаю.

Автор: @bminaiev
Subscribers
6.96K
Photos
24
Videos
0
Links
88
Recent Posts 20 shown
Post #113 2.14K
Кажется прикольная штука и достойна основного канала!
Post #112 4.74K
Боря дорешивает

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

В общем решил завести отдельный канал про олимпиадные задачи. Постараюсь писать туда возможно не самые интересные посты, но зато чаще :)

Подписывайтесь кому такое интересно: https://t.me/bminaiev_upsolving
  • 👍 32
  • 😁 13
  • ❤ 10
  • 😭 1
Post #111 7.84K
Количество стресса в жизни

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

У меня есть репозиторий, в котором я уже пять лет сохраняю все решенные олимпиадные задачи https://github.com/bminaiev/rust-contests

Оказалось, что если построить график того, как часто приходилось писать стресс для решений в разные года, то получается очень понятная закономерность. Видимо, писать код без багов все сложнее и сложнее...
  • 😁 59
  • ❤ 18
  • 🤯 14
  • 👍 8
  • 🤔 5
  • 😱 2
Post #110 8.63K
Post #109 8.5K
Post #108 32.9K
Midnight Code Cup 2026 Finals

Давно ничего не писал — надо исправляться. Недавно в Белграде прошёл финал 24-часового соревнования Midnight Code Cup, в организации которого я участвовал. На соревновании мы разрешаем пользоваться AI, поэтому в этом году пришлось постараться, чтобы задачи не решались одним промптом. Условия можно почитать здесь: https://2026.midnightcodecup.org/problems/

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

Больше всего мне нравятся следующие задачи:
https://2026.midnightcodecup.org/problems/G/ — нужно за 10 минут придумать как можно более короткий промпт для LLM, чтобы она написала решение простой задачи.
https://2026.midnightcodecup.org/problems/E/ — нужно управлять космическим кораблём, решать логические задачи и находить ключи. Интересно, когда агенты научатся решать такие задачи так же эффективно, как люди?
https://2026.midnightcodecup.org/problems/K/ — на сервере запущена какая-то программа, которой можно присылать картинки, а она сообщает, насколько они похожи на загаданную картинку. Когда вы присылаете изображение, очень похожее на правильное, вам выдают ключ — и задача решена.

Первый человек (или агент?), который решит обе части задачи K, получит от меня год подписки на ChatGPT Pro — при условии, что он раньше не решал эту задачу (не участвовал в финале), не будет читерить (например, искать готовое решение в интернете) и расскажет о том, как решал задачу! Пришлите мне в личку два кода, после того как их найдете.
  • 🥰 29
  • ❤ 17
  • 🔥 12
  • 👍 2
  • 🤔 1
  • 🏆 1
Post #107 11.4K
Midnight Code Cup 2026 Qualification Round. Results.

Прошел квалификационный раунд, интересные ощущения от него.

Вот тут можно почитать задачи: https://codeforces.com/gym/106478
Вот тут посмотреть финальные результаты: https://ranker.codeforces.com/ranklist/106471

Мы в этих контестах разрешаем пользоваться AI, и очень интересно наблюдать, насколько быстро все меняется. В финале прошлого года (который был летом) команды уже довольно часто использовали AI. Он давал возможность быстро написать хорошее решение и войти в топ, но при этом код становилось сложно поддерживать, участники не понимали, что в нем происходит, и ближе к концу контеста на топовых местах были команды, которые большинство кода писали руками. Сейчас же почти все команды в топе использовали AI, и в основном занимались тем, что говорили агентам, что нужно делать, а не решали задачи сами.

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

На этом контесте я был автором задачи С. Кажется, с точки зрения сложности/глубины вышло довольно хорошо. Мой личный критерий "интересности" оптимизационной задачи следующий. Если попросить агента написать хорошее решение задачи, а потом в бесконечном цикле просить его "улучшить", то он не придет к оптимальному решению, а застрянет в каком-то локальном оптимуме. А правильная стратегия — это иногда сделать несколько шагов назад и понять, можно ли как-то глобально по-другому решить задачу.

Например, в лидерборде можно видеть, что большинство решений в топе получило примерно 70k баллов, но при этом есть решение от Probably worse than LLMs, которое получило 90k. И что-то мне подсказывает, что решения построены на немного разных идеях, и текущим агентам тяжело перестать микрооптимизировать код, который дает 70k, и сделать большой скачок до 90k.

Если вы участвовали, как вам контест?
  • 🔥 47
  • 👍 16
  • ❤ 8
  • 🤪 5
  • 🦄 2
Post #106 8.29K
Midnight Code Cup 2026 Qualification Round

Уже в эту субботу пройдет квалификационный раунд Midnight Code Cup! Сегодня последний шанс зарегистрироваться на раунд, так что если вы все еще это не сделали — самое время!

Если вы вдруг не знаете, что такое Midnight Code Cup, то это контест с финалом в Белграде, который будет длиться 24 часа (а квалификация всего 4 часа). Мы стараемся придумывать интересные необычные задачи. Вот тут можно посмотреть прошлогодние — https://codeforces.com/blog/entry/143717

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

Удачи и увидимся на финале!
  • 👍 30
  • ❤ 9
  • 🔥 5
  • 🎃 3
Post #105 10.3K
Parameter Golf

Мы (OpenAI) недавно запустили контест, в котором нужно натренировать как можно более хорошую модель фиксированного размера (не больше 16МБ) на фиксированном датасете. Лидерборд (и код сабмитов) публичный, поэтому уже можно посмотреть какие типы оптимизаций помогают, и что примерно можно еще попробовать.

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

По собственному опыту знаю, что очень сложно попасть на собес в OpenAI, даже если ты очень умный и замотивированный. Этот контест как раз сделан для того, чтобы выявить таких людей среди большого количества резюме, которые нам присылают. Так что если вы хотите попасть в OpenAI — рекомендую поучаствовать!
  • 👍 54
  • 🔥 27
  • ❤ 11
Post #104 10.6K
Чтение мыслей

Тестировал сегодня новую модель. В качестве теста ей нужно было угадать случайную последовательность из десяти букв пользуясь некоторыми подсказками. К сожалению, в генерации подсказок я немного набагал, и единственная подсказка, которую получила модель, была "вторая буква из десяти это y" (по-английски).

Мои баги ее не сильно волновали, поэтому она немного подумала, и выдала правильный результат. Какие 10 символов были загаданы?
  • 🤔 21
  • ❤ 9
  • 🤯 7
  • 🤡 7
  • 👀 3
Post #103 12.3K
Вместо итогов 2025 года тут будет кот! С новым годом!
  • ❤ 155
  • 🎉 63
  • 😍 17
  • 🎄 8
  • 👍 6
  • ☃ 3
  • 🎅 2
  • 🔥 1
  • 🌚 1
Post #102 12.2K
Чем заняться первого января?

Если у вас все еще нет планов на первое января, то очень рекомендую поучаствовать в контесте от Андрея — https://t.me/andgein_notes/192!

Это не обычный контест типа CodeForces или ICPC, тут можно пользоваться LLM и задачи довольно нестандартные. Вот тут можно почитать задачи прошлого года с решениями: https://2025.andgein.ru/about-tasks. Я участвовал в прошлом году (даже выиграл 🥇), мне очень понравилось! Вот тут писал про одну из задач — https://t.me/bminaiev_blog/84.

Вообще за последний год стало сильно сложнее делать контесты, в которых разрешено пользоваться LLM. На CodeForces их уже давно запретили. На AtCoder довольно долго они были запрещены на div2 раундах, но разрешены на AtCoder Grand Contest потому что "мы даем задачи где думать надо, тут LLM вам не помогут" (чтобы оценить сложность задач — на последнем таком раунде я решил 0 задач из 5). Но в итоге три месяца назад тоже запретили, потому что на очередном раунде GPT5-Pro решил несколько задач.

Мы разрешали пользоваться LLM на MidnightCodeCup и планируем такие же правила на этот год. Но придумывать задачи, которые AI не может решить сам, все сложнее и сложнее. Так что пользуйтесь возможностью поучаствовать в таких контестах, пока она есть!
  • ❤ 26
  • 😁 9
  • 🔥 7
  • 👍 4
  • ❤‍🔥 3
Post #101 12.7K
Красивые детальные статьи

Выходные это отличное время, чтобы потратить пару часов на то, чтобы прочитать какую-нибудь очень детальную статью и подробно в чем-то разобраться. По этому поводу хочу поделиться несколькими качественными длинными постами.

1. https://www.aleksagordic.com/blog/matmul — очень подробно про перемножение матриц на GPU. Что-то в стиле "What Every Programmer Should Know About Memory", только про GPU. У него в блоге еще есть про внутренности vLLM и всякие другие штуки.

2. https://thinkingmachines.ai/blog/lora/. Thinking machines начали публиковать довольно интересные блоги. У них там еще есть про Modular Manifolds, но на мой вкус слишком много математики.

3. https://pair.withgoogle.com/explorables/grokking/ прикольные визуализации про эффект grokking-а. В какой-то момент мне настолько понравилась статья, что я сделал задачу в контесте по ее мотивам.

4. https://transformer-circuits.pub/2025/attribution-graphs/methods.html У Anthropic есть много красивых статей про внутренности LLM.

5. https://bminaiev.github.io/simulated-annealing Когда-то у меня хватало свободного времени, чтобы писать длинные посты.

Я скинул chatgpt список выше и попросил найти что-то похожее. Можете поверить наслово, он сгенерировал хороший ответ, но почему-то кнопка "поделиться ответом" не работает. Поэтому вместо этого вот вам еще один пост из хорошего блога — https://lilianweng.github.io/posts/2023-01-27-the-transformer-family-v2/

Накидайте в комментариях каких-нибудь еще красивых подробных статей на любые темы!
  • 🔥 65
  • ❤ 21
  • 👍 11
  • 🤔 2
  • 🗿 1
Post #100 9.93K
Дерево Фенвика

Дерево Фенвика это структура данных, которая позволяет быстро обрабатывать две операции:
- a[pos] += x
- посчитать сумму a[i] для i <= r.

Вместо массива a будем поддерживать некоторый массив f. Сами функции выглядят так:
void add(int pos, int x) {
for (int i = pos; i < n; i = up(i)) {
f[i] += x;
}
}

int sum(int pos) {
int res = 0;
for (int i = pos; i >= 0; i = down(i)) {
res += f[i];
}
return res;
}


Функции up и down это какие-то магические битовые операции. Этот пост предназначен для людей, которые раньше знали этот код наизусть, а теперь не смогут вспомнить как именно пишутся up и down. Расскажу больше деталей про дерево Фенвика, может вы научитесь выводить формулы для up и down самостоятельно.

В качестве up можно использовать разные функции, но будем использовать "проставить младший нулевой бит". Довольно легко понять, что ее можно написать как up(i) = i | (i + 1). А теперь давайте поймем как подобрать правильную функцию down для этой up.

Интересное свойство получаемого массива f заключается в том, что в ячейке pos хранится сумма некоторого подотрезка элементов из a. Причем правый конец этого отрезка это pos. Например, в pos = 010110111 хранится сумма элементов, которые подходят под маску 010110??? (таких всего 8 штук). Т.е. нужно посмотреть на отрезок из единиц, стоящих в самый младших разрядах, и заменить их на любые биты.

Как посчитать sum(010110111)? Нужно взять f[010110111] (соответствует сумме a[010110000..010110111]), а потом добавить к ней sum(010101111). По сути переход от 010110111 к 010101111 это и есть применение функции down.

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

Формула получается down(i) = (i & (i + 1)) - 1.

Для закрепления материала, предлагаю самостоятельно написать функцию find(s), которая за логарифм находит наибольшую позицию r такую, что сумма чисел a[0..r] <= s (если все a неотрицательные).
  • ❤ 43
  • 🔥 17
  • 👍 11
  • 👏 3
  • 🤯 3
  • 👎 1
  • 😁 1
  • 👀 1
Post #99 13.9K
ICPC is solved

Вчеры мы рассказали как AI от OpenAI поучаствовал в финале ICPC. Он смог решить все задачи — больше чем любая другая команда. Это очень крутой результат! Единственный раз в истории ICPC, когда команда решила все задачи во время финала, был 10 лет назад (и в этой команде был я).

За последние несколько месяцев мы поучаствовали в разных соревнованиях и везде добились хороших результатов. Первое место на ICPC. Второе на Atcoder Heuristic World Finals. Золото на IOI и IMO.

Не могу перестать удивляться скорости прогресса! Чуть больше года назад я ездил гостем на финал ICPC, и, встретив там Jakub Pachocki, мы обсуждали когда уже наступит тот момент, когда AI сможет выиграть ICPC. Тогда горизонт в пять лет мне казался реалистично-оптимичным. И вот мы тут. Очень интересно узнать что будет еще через год-два!
  • ❤ 104
  • 🔥 71
  • 😭 12
  • 👍 5
  • 😁 4
  • 🤩 3
  • 🎃 2
Post #98 11.8K
AtCoder World Tour Finals 2025 / Psyho's write-up

Как я уже писал выше, на финале AtCoder мы заняли второе место, а Psyho выиграл. Недавно Psyho опубликовал свои мысли по поводу участия AI в этом контесте, очень рекомендую почитать!

https://github.com/FakePsyho/cpcontests/blob/master/atcoder/awtf2025/humansvsai.md

Из интересного, он скачал все наши посылки и посчитал всякую статистику. Например, насколько сильно менялся код между соседними посылками. Еще, после конца контеста, мы попробовали улучшить решение Psyho с помощью нашей системы, и об этом тоже подробно написано.
  • 🔥 43
  • ❤ 20
  • ✍ 6
  • 👍 4
  • 👎 1
Post #97 14.9K
IMO 2025 Gold 🥇

Как можно было увидеть из предыдущих постов, за последний год модели начали показывать очень хорошие результаты в областях, где легко проверить правильность ответа. Например, на большинстве математических бенчмарков, где нужно выбрать правильный ответ, или где ответ это одно число/короткая формула, топовые модели набирают 90%+.

Дела обстоят хуже в областях, где сложно автоматически проверить ответ. Например, модели все еще плохо придумывают шутки. И они все еще плохо решают математические задачи, где нужно написать доказательство, а не только посчитать итоговый ответ. Одной из олимпиад, где нужно так делать, является IMO (International Math Olympiad).

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

В этом году наша новая экспериментальная модель смогла полностью решать 5 из 6 задач IMO (соответствует золотой медали) и привести доказательства на обычном языке, без использования Lean. Вот тут можно почитать больше подробностей, а тут сами доказательства.
  • 🔥 100
  • 🤯 29
  • ❤ 12
  • 💊 3
  • 👍 1
Post #96 29K
AtCoder World Tour Finals 2025 (Heuristic). 2nd place!

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

Большую часть контеста OpenAI был на первом месте с довольно большим отрывом, и только в самом конце Psyho вырвался вперед. Так что всех, кто проголосовал за вариант "2-3" в предыдущем опросе, поздравляю :)

В твиттере увидел картинку с количеством баллов у OpenAI и у Psyho от времени (чем меньше скор — тем лучше). Мне кажется, она довольно хорошо показывает текущее состояние AI. Он может гораздо быстрее человека запрототипировать хорошее решение. Но при этом на дистанции в 10 часов человек уже может догнать и перегнать за счет каких-то более интересных идей. Интересно, как такой же график будет выглядеть через год.
  • 🔥 66
  • 🎉 9
  • ❤ 8
  • 👍 7
  • 😱 5
  • 🤷‍♂ 2
  • 😁 1
  • 🐳 1
Post #95 9.47K
  • ❤ 11
  • 🔥 6
Older posts →

About this channel

How can I read @bminaiev_blog without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Боря программирует: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Боря программирует have?
Боря программирует (@bminaiev_blog) has 6.96K subscribers on Telegram, refreshed roughly every 30 minutes.
Does Боря программирует know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →