Блог пользователя soullless

Автор soullless, 3 месяца назад, По-русски

1. Что именно за проблема

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

2. Идея

Xeppelin — open-source tool, изначально сделанный для ICPC, который:

  • запускается локально перед контестом
  • логирует изменения файлов в рабочей директории
  • сохраняет таймлайн разработки (когда и как менялся код)
  • не записывает экран, клавиатуру, сеть или вкладки
  • после контеста строит визуализацию активности

Это не мой tool, но вы можете найти его тут

3. Что именно предлагается для Codeforces (реализация, не идея)

Предложение — использовать Xeppelin как внешний источник поведенческих данных, без вмешательства в CF-инфраструктуру. Поток работы:

  1. Участник запускает Xeppelin перед раундом

  2. Решает задачи как обычно (локально, в IDE)

  3. После раунда Xeppelin выдаёт:

  • лог изменений файлов
  • таймлайн активности

Этот лог можно автоматически связать с CF-сабмитами (по contestId + handle)

CF при этом:

  • не меняет процесс сабмита
  • не получает данные в реальном времени
  • не требует изменений в CF и может быть полностью опциональным: участник сам решает, прикладывать ли activity log.

4. Какие именно данные получаются

Из Xeppelin доступны чёткие и простые метрики:

  • количество изменений файла до AC
  • размеры отдельных изменений
  • время активной работы vs простои
  • был ли код написан постепенно или “одним куском”
  • повторяется ли одинаковый паттерн по нескольким задачам

Это метаданные процесса, не содержимое экрана и не ввод пользователя.

5. Почему это хорошо ловит именно читеров:

Типичный паттерн копипаста или списывания LLM-решения:

  • долгий простой
  • один большой апдейт файла
  • почти отсутствие правок
  • сразу AC

Этот паттерн:

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

6. Как это можно использовать на практике (без банов)

Xeppelin не доказательство, а сигнал. Реалистичные применения:

  • дополнительный input для пост-контест анализа
  • основание для provisional rating в явно аномальных случаях
  • инструмент для модераторов/авторов, а не авто-наказание

7. Почему это безопасно для CF

  • нет прокторинга
  • нет вмешательства в сабмиты
  • нет обязательных установок
  • нет real-time нагрузки

Xeppelin работает полностью снаружи, CF получает данные после контеста или вообще только по запросу.

8. Ограничение и компромиссное решение

Недостаток

Очевидный минус такого подхода — невозможно и не нужно покрывать 100% участников. Часть людей не сможет или не захочет использовать внешний логгер (устройства, политика установки, личные причины).

Попытка сделать такой софт обязательным для всех rated-раундов действительно слишком жёсткая и может навредить доступности Codeforces.

Компромиссное решение (без изменения базовой системы CF)

Вместо этого предлагается следующий вариант:

  • Рейтинг остаётся один и тот же, как сейчас
  • У каждого результата появляется статус:
  • Verified — если участник приложил activity log (Xeppelin)

  • Unverified — обычное участие, без логов
  • Это не отдельный рейтинг и не “вторая лига”

  • Это дополнительный слой доверия, похожий по духу на unofficial standings или verified badges

Практически это даёт:

  • возможность фильтровать лидерборд по Verified
  • приоритет доверия к verified-результатам
  • меньше provisional-проверок для verified участников

При этом:

  • никто не теряет доступ к рейтингу
  • формат раундов не ломается
  • честным участникам появляется понятный стимул подтверждать процесс

9. TL;DR

Есть уже существующий инструмент (Xeppelin), который логирует процесс разработки без слежки. Его можно напрямую связать с CF-раундами и использовать как дополнительный сигнал против копипаста LLM-решений — без банов и без ломания платформы.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +392
  • Проголосовать: не нравится

Автор soullless, история, 9 месяцев назад, перевод, По-русски

2126A - Всего одна цифра

Идея: soullless

Разбор
Решение

2126B - В горах нет казино

Идея: soullless

Разбор
Решение

2126C - Сейчас точно успею

Идея: soullless

Разбор
Решение

2126D - Это точно в последний раз

Идея: soullless

Разбор
Решение

2126E - Н-О-Д, не повезло!

Идея: Away_in_the_heavens

Разбор
Решение

2126F - 1-1-1, бесплатное дерево!

Идея: soullless

Разбор
Решение

2126G1 - Большие выигрыши! (простая версия)

Идея: soullless

Разбор
Решение

2126G2 - Большие выигрыши! (сложная версия)

Идея: soullless

Разбор
Решение

Полный текст и комментарии »

Разбор задач Codeforces Round 1037 (Div. 3)
  • Проголосовать: нравится
  • +116
  • Проголосовать: не нравится

Автор soullless, история, 9 месяцев назад, По-русски

Almaty Code Cup x Qazaq Programming Contest — это престижное соревнование по спортивному программированию в формате ICPC для школьников 7–11(12) классов. Турнир создан бывшими и нынешними участниками сборной Казахстана по информатике — и в 2025 году он снова с вами! Хотелось бы напомнить, мы проводим эту олимпиаду уже в третий раз уже на международном уровне!

Призы и награды:

Станьте частью турнира и поборитесь за:

  • Денежные призы — общий призовой фонд от 3000+ долларов;

  • Гранты и скидки на обучение в технических вузах;

  • Возможность заявить о себе и сделать шаг к успешному будущему!

Как пройдёт ACC x QPC 2025?

  • Отборочный этап — онлайн, с прокторингом, на платформе codeforces.com. Подробности — скоро.

  • 32 лучшие команды пройдут в финал — офлайн в городе Алматы. Организаторы обеспечат проживание и питание для участников.

Регистрация уже открыта!

  • Форма регистрации: https://forms.gle/d7Gyg3FLuksaJKTS7

  • Дедлайн — 4 августа включительно

  • Перед каждым этапом вы получите ссылку, логин и пароль на участие.

  • Чтобы не пропустить важные обновления, подписывайтесь на наш Telegram-канал

Полный текст и комментарии »

  • Проголосовать: нравится
  • +109
  • Проголосовать: не нравится

Автор soullless, история, 9 месяцев назад, По-русски
  • Проголосовать: нравится
  • +181
  • Проголосовать: не нравится

Автор soullless, история, 9 месяцев назад, По-русски

Hello, Codeforces!

I am very excited to invite you to our contest Codeforces Round 1037 (Div. 3), which starts on 17.07.2025 17:35 (Московское время). You will be given 7 problems and 2 hours and 15 minutes to solve them.

The problems were authored by me, __rose, Pishka12, Chalishkan and I_HATE_MD_DM to solve and alter them.

The round will be hosted by the rules of educational rounds (extended ICPC). Thus, all solutions will be judged on preliminary tests during the round, and after the round, there will be a 12-hour phase of open hacks. After the open hack phase, all accepted solutions will be rejudged on successful hacks. Also, note that there is no score distribution — rank will be determined by number of problems solved, followed by penalty; wrong submissions will incur the usual penalty of 10 minutes, following the rules of educational rounds.

Remember that only the trusted participants of the third division will be included in the official standings table. As it is written by link, this is a compulsory measure for combating unsporting behavior. To qualify as a trusted participant of the third division, you must:

  • take part in at least five rated rounds (and solve at least one problem in each of them)
  • do not have a point of 1900 or higher in the rating.

Regardless of whether you are a trusted participant of the third division or not, if your rating is less than 1600, then the round will be rated for you.

We would like to thank:

GL HF!

Editoral is out!:

Also I would like to show you the beauty of our country's nature with the stunning backdrop of tourist Peak (3965m)!

Полный текст и комментарии »

  • Проголосовать: нравится
  • +525
  • Проголосовать: не нравится

Автор soullless, история, 10 месяцев назад, По-русски

Всем привет! Сегодня, после очередной пробежки, я задумался: а как вообще тренировки перед раундами влияют на мышление?

Когда ты идёшь в зал, бегаешь или играешь в футбол — ты тратишь гликоген. Это такая форма хранения энергии, которую тело делает из углеводов. Он копится в мышцах и в печени.

Мышечный гликоген нужен для движения.

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

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

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

Вот простые правила, которые я для себя вывел:

  1. За сутки — никакого жёсткого спорта Забудь про «а давай покатаем мячик». Потом будешь сидеть на туре с глазами рыбы и ловить баги в коде, который сам же написал. Организму нужно время, чтобы восстановить энергию.
  2. Ешь нормальную еду (а не чай с печеньками) Организму нужны углеводы: макароны, рис, картошка, овсянка. Не надо закидываться сникерсами и колой. Медленные углеводы = стабильная энергия на весь тур.

Вот и всё. Выспался, поел, не выжиг себя накануне — и идёшь решать на максимум.

Удачи на олимпиадах и раундах! :)

P.S. Я недавно написал мотивационно-образовательную книгу, где поделился своим опытом и дал десятки советов — и для прогресса, и для стабильных результатов.

Книгу вы можете найти ту-у-у-у-у-у-у-ут

Полный текст и комментарии »

  • Проголосовать: нравится
  • +111
  • Проголосовать: не нравится

Автор soullless, история, 12 месяцев назад, По-русски

Всем привет! Уже в этом году IOI 2025 пройдёт в Боливии — и мы все с нетерпением ждём это событие! А кто будет представлять вашу страну на этом легендарном соревновании?

У нас в сборной (Казахстан):

Wansur (второй раз на ioi) (1 попытка осталась)

ahyeon (второй раз на ioi) (0 попыток осталось)

Away_in_the_heavens (первый раз на ioi) (2 попытки остались)

WansurMyKing667 (первый раз на ioi) (1 попытка осталась)

А у вас? Пишите в комменты, интересно посмотреть на составы разных стран — может, кого-то уже знаете или с кем-то даже соревновались!

Полный текст и комментарии »

  • Проголосовать: нравится
  • +341
  • Проголосовать: не нравится

Автор soullless, история, 13 месяцев назад, По-русски

Мой друг Away_in_the_heavens отправил мне фото, от которого я был в полном шоке.

Никогда ранее мне не приходилось видеть подобную ситуацию на платформе:

На фото — стендингс сегодняшнего раунда ._.

Для сравнения — вот как выглядели standings на 100 контестов раньше:

Безусловно, случаи нечестной игры случались и ранее. Однако, судя по сегодняшнему раунду, их количество увеличилось в десятки, если не в сотни раз. И причина одна — появление ChatGPT o1 или ChatGPT mini-high-3 которые могут решить задачи уровня наверное до 3000 за считанные минуты. Получается, раунд для читеров перерастает в миниигру — кто быстрее напишет код или найдет ошибку у ChatGPT.

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

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

Полный текст и комментарии »

  • Проголосовать: нравится
  • +520
  • Проголосовать: не нравится

Автор soullless, история, 13 месяцев назад, перевод, По-русски

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

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

Это не просто очередной гайд. Это книга, которая говорит с тобой честно. Это история силы, упрямства и настоящей олимпиады — той, которая разворачивается не только на экране, но и внутри тебя.

Она для всех, кто хочет большего:

Реальные истории и правда о выгорании и о том, как через него пройти.

Рабочие стратегии роста, которые действительно работают.

Мой личный путь — от ноунейма до золота.

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

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

Скачать PDF: https://drive.google.com/drive/folders/1NJ5Qx5ci7GrQeMKZhDakVHqaqg1CdNEg

Буду рад, если ты прочитаешь и поделишься мнением. Это не учебник. Это разговор — честный, живой, настоящий. От олимпиадника, прошедшего путь — всем, кто только начал или уже идёт рядом.

Добро пожаловать в игру. Увидимся на вершине рейтингов.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +729
  • Проголосовать: не нравится

Автор soullless, история, 13 месяцев назад, По-английски

Where is the April fool contest? The contest was held every year until 2024, will it be this year?

Полный текст и комментарии »

  • Проголосовать: нравится
  • +237
  • Проголосовать: не нравится

Автор soullless, 14 месяцев назад, По-английски

Does anyone know why nor has deleted all his blogs? A lot of math blogs were deleted, we have lost a lot of tricks.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +115
  • Проголосовать: не нравится

Автор soullless, 19 месяцев назад, По-русски

Good Day Codeforces!

Me, Wansur and Chalishkan are happy to invite you to take part in Codeforces Round 973 (Div. 2), which starts on 20.09.2024 17:35 (Московское время) You will be given 6 problems and 2 hours to solve them. One problem was divided into two subtasks.

The round will be rated for all participants with a rating lower than 2100.

The problems were authored by me, Wansur and Chalishkan to solve and alter them.

We would like to thank:

Score Distribution: 500 — 750 — 1250 — 2000 — 2500 — (2000 + 2000)

UPD1: Congrats to the winners!

div. 2:

  1. EmmaXII

  2. hxano

  3. Muelsyse_sep006

  4. Hexagons

  5. Trumling_hasnotime

div. 1 + div. 2:

  1. maspy

  2. arvindf232

  3. Brovko

  4. aryanc403

  5. E869120

UPD2: The Editorial is out!

It is our team on EJOI 2024 4-th from left is me, 5-th from left is Wansur

We are also very glad that ICPC 2024 will be in Astana, and we wish all participants a good tour!

Полный текст и комментарии »

  • Проголосовать: нравится
  • +627
  • Проголосовать: не нравится