✨ 100 подписчиков — важная отметка
В нашем Telegram-канале стало 100 подписчиков — благодарим каждого, кто читает, поддерживает и остаётся с нами.
Это небольшой, но значимый шаг вперёд и хороший знак того, что контент находит отклик.
Будем признательны, если вы поделитесь каналом с теми, кому он может быть интересен — вместе сообщество будет расти и становиться сильнее.
В нашем Telegram-канале стало 100 подписчиков — благодарим каждого, кто читает, поддерживает и остаётся с нами.
Это небольшой, но значимый шаг вперёд и хороший знак того, что контент находит отклик.
Будем признательны, если вы поделитесь каналом с теми, кому он может быть интересен — вместе сообщество будет расти и становиться сильнее.
👍7❤5🏆1🆒1
Лямбды в C++: Как сортировать пары по двум критериям одной строкой
Представь типичную задачу: есть список студентов с оценками и ID. Нужно отсортировать их так, чтобы сначала шли те, у кого оценка выше, а при равных оценках — по возрастанию ID.
Обычно это требует написания отдельной функции сравнения, но в C++ есть элегантное решение — лямбда-выражения. Они позволяют описать логику сравнения прямо внутри вызова
А теперь смотри, как это выглядит на практике...
Представь типичную задачу: есть список студентов с оценками и ID. Нужно отсортировать их так, чтобы сначала шли те, у кого оценка выше, а при равных оценках — по возрастанию ID.
Обычно это требует написания отдельной функции сравнения, но в C++ есть элегантное решение — лямбда-выражения. Они позволяют описать логику сравнения прямо внутри вызова
sort(), делая код компактным и читаемым.А теперь смотри, как это выглядит на практике...
vector<pair<int, int>> v = {
{5,101}, {4,102}, {5,103}, {3,104}, {5,105}, {4,106}
};
sort(v.begin(), v.end(), [](auto a, auto b) {
return a.first == b.first ?
a.second < b.second :
a.first > b.first;
});
for(auto x : v)
cout << x.first << " " << x.second << "\n";👍3
Областная олимпиада по информатике (11 классы)
Объявляется дорешивание отборочного и финального тура областной олимпиады по информатике среди учащихся 11 классов.
Дорешивание открыт для всех участников.
📅 Дата: 25 / 01 / 2026
🌐 Формат: онлайн, платформа olymp.tj
⏰ Время:
— Отборочный тур — 18:00
— Финальный тур — 19:00
📝 Регистрация обязательна и открыта до 17:00 (за 1 час до начала).
Это возможность:
— спокойно разобрать формат задач
— проверить уровень перед финалом
— поработать в условиях реальной олимпиады
🔗 Для регистрации перейдите: Вход
Готовьтесь и не упустите возможность проверить свои знания.
Объявляется дорешивание отборочного и финального тура областной олимпиады по информатике среди учащихся 11 классов.
Дорешивание открыт для всех участников.
📅 Дата: 25 / 01 / 2026
🌐 Формат: онлайн, платформа olymp.tj
⏰ Время:
— Отборочный тур — 18:00
— Финальный тур — 19:00
📝 Регистрация обязательна и открыта до 17:00 (за 1 час до начала).
Это возможность:
— спокойно разобрать формат задач
— проверить уровень перед финалом
— поработать в условиях реальной олимпиады
🔗 Для регистрации перейдите: Вход
Готовьтесь и не упустите возможность проверить свои знания.
👍5
Областная олимпиада по информатике (9-10 классы)
Открыто дорешивание отборочного и финального этапов областной олимпиады по информатике для учащихся 9-10 классов.
Принять участие могут все зарегистрированные участники.
📅 Дата: 01 / 02 / 2026
🌐 Формат: онлайн, платформа olymp.tj
⏰ Время начала туров:
— Отборочный тур — 18:00
— Финальный тур — 19:00
📝 Для участия обязательна предварительная регистрация. Регистрация доступна до 17:00 (за час до старта).
Это отличный шанс:
— детально ознакомиться с типами и структурой задач
— оценить свою подготовку перед основным соревнованием
— протестировать себя в обстановке, приближенной к олимпиадной
🔗 Регистрация и вход через: Вход
Используйте эту возможность для проверки своих сил. Удачи в подготовке!
Открыто дорешивание отборочного и финального этапов областной олимпиады по информатике для учащихся 9-10 классов.
Принять участие могут все зарегистрированные участники.
📅 Дата: 01 / 02 / 2026
🌐 Формат: онлайн, платформа olymp.tj
⏰ Время начала туров:
— Отборочный тур — 18:00
— Финальный тур — 19:00
📝 Для участия обязательна предварительная регистрация. Регистрация доступна до 17:00 (за час до старта).
Это отличный шанс:
— детально ознакомиться с типами и структурой задач
— оценить свою подготовку перед основным соревнованием
— протестировать себя в обстановке, приближенной к олимпиадной
🔗 Регистрация и вход через: Вход
Используйте эту возможность для проверки своих сил. Удачи в подготовке!
🔥5❤1👍1
Областная олимпиада по информатике (7–8 классы)
Открывается дорешивание отборочного и финального этапов областной олимпиады по информатике для учащихся 7–8 классов.
Участвовать могут все зарегистрированные школьники.
📅 Дата проведения: 15 февраля 2026
🌐 Формат: онлайн на платформе olymp.tj
⏰ Старт туров:
— Отборочный тур — 18:00
— Финальный тур — 19:00
📝 Предварительная регистрация обязательна.
Закрытие регистрации — в 17:00 (за 60 минут до начала).
Почему стоит участвовать:
— разберёте реальные олимпиадные форматы задач
— проверите скорость и качество своего кода
— поймёте, где нужно усилить подготовку
— получите опыт участия в официальном турнире
🔗 Вход и регистрация: Перейти
Используйте возможность потренироваться в условиях, максимально приближенных к соревнованию.
Уверенность приходит через практику.
Открывается дорешивание отборочного и финального этапов областной олимпиады по информатике для учащихся 7–8 классов.
Участвовать могут все зарегистрированные школьники.
📅 Дата проведения: 15 февраля 2026
🌐 Формат: онлайн на платформе olymp.tj
⏰ Старт туров:
— Отборочный тур — 18:00
— Финальный тур — 19:00
📝 Предварительная регистрация обязательна.
Закрытие регистрации — в 17:00 (за 60 минут до начала).
Почему стоит участвовать:
— разберёте реальные олимпиадные форматы задач
— проверите скорость и качество своего кода
— поймёте, где нужно усилить подготовку
— получите опыт участия в официальном турнире
🔗 Вход и регистрация: Перейти
Используйте возможность потренироваться в условиях, максимально приближенных к соревнованию.
Уверенность приходит через практику.
👍5
Использование нейросетей (например, ChatGPT) для полного решения заданий вместо самостоятельной работы может привести к дисквалификации.
Если участник просто копирует готовый ответ, это считается нарушением правил — так как проверяется не только результат, но и личные знания.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Областная олимпиада по информатике (5–6 классы)
Приглашаем вас на дорешивание олимпиадных заданий — возможность не просто вспомнить прошедший тур, а разобрать каждую задачу детально, восполнить пробелы и почувствовать уверенность в своих силах.
🗓 Дата: 1 марта 2026 года
⏰ Время проведения:
— Первый тур: в 18:00
— Второй тур: в 19:00
💻 Платформа: olymp.tj
В течение четырёх часов (включая оба тура) вам будет открыт доступ к заданиям для повторного решения и разбора. Это полезный формат для тех, кто хочет глубже разобраться в материале и сделать шаг к новым победам.
Пожалуйста, не опаздывайте: регистрация закроется до начало дорешивания.
Будем рады видеть каждого, кто стремится к знаниям!
Приглашаем вас на дорешивание олимпиадных заданий — возможность не просто вспомнить прошедший тур, а разобрать каждую задачу детально, восполнить пробелы и почувствовать уверенность в своих силах.
🗓 Дата: 1 марта 2026 года
⏰ Время проведения:
— Первый тур: в 18:00
— Второй тур: в 19:00
💻 Платформа: olymp.tj
В течение четырёх часов (включая оба тура) вам будет открыт доступ к заданиям для повторного решения и разбора. Это полезный формат для тех, кто хочет глубже разобраться в материале и сделать шаг к новым победам.
Пожалуйста, не опаздывайте: регистрация закроется до начало дорешивания.
Будем рады видеть каждого, кто стремится к знаниям!
❤1
Big O: Как не словить Time Limit?
В спортивном программировании мало написать рабочий код — он должен быть быстрым. Big O показывает, как время работы программы растет вместе с размером данных. Если твой алгоритм делает N^2 операций при массиве в 10^5, ты гарантированно получишь ошибку превышения времени (TLE).
С++ за секунду переваривает около 10^8 простых операций. Перед тем как кодить, всегда сопоставляй ограничения задачи с логикой: для 10^5 элементов ищи решение за O(N log N), а для 10^8 подойдет только чистый O(N).
Краткая шпаргалка:
O(1) — Магия (формулы).
O(log N) — Бинарный поиск.
O(N) — Один цикл.
O(N log N) — Сортировка.
O(N^2) — Вложенные циклы (яд для больших данных).
#cpp #algorithms #coding
В спортивном программировании мало написать рабочий код — он должен быть быстрым. Big O показывает, как время работы программы растет вместе с размером данных. Если твой алгоритм делает N^2 операций при массиве в 10^5, ты гарантированно получишь ошибку превышения времени (TLE).
С++ за секунду переваривает около 10^8 простых операций. Перед тем как кодить, всегда сопоставляй ограничения задачи с логикой: для 10^5 элементов ищи решение за O(N log N), а для 10^8 подойдет только чистый O(N).
Краткая шпаргалка:
O(1) — Магия (формулы).
O(log N) — Бинарный поиск.
O(N) — Один цикл.
O(N log N) — Сортировка.
O(N^2) — Вложенные циклы (яд для больших данных).
#cpp #algorithms #coding
👍3
Шаблон для соревнований: почему
В спортивном программировании время на перечисление
Это стандарт де-факто для олимпиадника: код чище, а риск получить CE (Compilation Error) из-за забытого инклуда — нулевой.
Что нужно знать:
‣ Скорость: На время выполнения (Runtime) это не влияет, только на секунду дольше компилится у тебя на ПК.
‣ Совместимость: Работает на всех топовых платформах (Codeforces, LeetCode, на олимпиадах), но может не завестись в Visual Studio.
#cpp #libraries #alghorithms
bits/stdc++.h — это база.В спортивном программировании время на перечисление
<vector>, <algorithm> и <map> — это потерянные минуты. Один хедер #include <bits/stdc++.h> заменяет десятки строк, подтягивая всю стандартную библиотеку GCC разом. В олимпиадном программировании это база, так как ускоряет подготовку, исключает ошибки забытых библиотек и работает в большинстве систем, включая Codeforces. Это стандарт де-факто для олимпиадника: код чище, а риск получить CE (Compilation Error) из-за забытого инклуда — нулевой.
Что нужно знать:
‣ Скорость: На время выполнения (Runtime) это не влияет, только на секунду дольше компилится у тебя на ПК.
‣ Совместимость: Работает на всех топовых платформах (Codeforces, LeetCode, на олимпиадах), но может не завестись в Visual Studio.
#cpp #libraries #alghorithms
👍1
Идеальный компаратор через std::tie
В спортивном программировании часто нужно сортировать объекты по 3–4 критериям (например: баллы ↓, штраф ↑, время ↑). Вместо громоздких каскадов
Почему это стандарт:
• Безопасность: Исключает риск нарушить правила строгого слабого упорядочивания (Strict Weak Ordering), за которые
• Читаемость: Весь приоритет сортировки виден в одной строке.
• Zero-cost: Компилятор эффективно оптимизирует такие сравнения, не создавая лишних объектов в памяти.
#cpp #tie #comparator
В спортивном программировании часто нужно сортировать объекты по 3–4 критериям (например: баллы ↓, штраф ↑, время ↑). Вместо громоздких каскадов
if-else, которые плодят баги, используй лексикографическое сравнение через std::tie. Оно сравнивает элементы последовательно: если первые равны, переходит ко вторым, и так далее.// Сортировка: очки (desc), время (asc)
sort(players.begin(), players.end(), [](auto &a, auto &b) {
return tie(b.score, a.time) < tie(a.score, b.time);
});
Почему это стандарт:
• Безопасность: Исключает риск нарушить правила строгого слабого упорядочивания (Strict Weak Ordering), за которые
std::sort может выдать Runtime Error.• Читаемость: Весь приоритет сортировки виден в одной строке.
• Zero-cost: Компилятор эффективно оптимизирует такие сравнения, не создавая лишних объектов в памяти.
#cpp #tie #comparator
👨💻2
Битовая магия — основы и скорость
В спортивном программировании битовые операции — это не просто способ сэкономить память, это инструмент для экстремального ускорения кода. Они выполняются процессором за один такт и заменяют тяжелые арифметические операции и условия.
Краткий справочник:
•
•
•
•
Почему это важно:
Почти любая задача на подмножества или динамику по маскам строится на этих операциях. Битовый сдвиг влево на k позиций эквивалентен умножению на 2^k, но работает в разы быстрее.
#cpp #bitoperation #alghorithms
В спортивном программировании битовые операции — это не просто способ сэкономить память, это инструмент для экстремального ускорения кода. Они выполняются процессором за один такт и заменяют тяжелые арифметические операции и условия.
int a = 5; // 0101 в битах
int b = 3; // 0011 в битах
int res = a ^ b; // 0110 (XOR) -> 6
Краткий справочник:
•
& ( AND ) : Проверка бита. (n & 1) — проверка на нечетность (быстрее чем % 2).•
| ( OR ) : Установка бита.•
^ ( XOR ) : Инверсия. Помни: a ^ a = 0 (база для поиска одиночного числа).•
<< / >> : Сдвиги. 1 << n — это 2^n за наносекунду.Почему это важно:
Почти любая задача на подмножества или динамику по маскам строится на этих операциях. Битовый сдвиг влево на k позиций эквивалентен умножению на 2^k, но работает в разы быстрее.
#cpp #bitoperation #alghorithms
👍3