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

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

I’ve been really excited to try my skills in some harder marathon type problems as of late
Some of the competitions, where you could find such problems are:

TopCoder has hosted over 150 MM’s over the past 18 years, which is simply incredible. Hats off!
Unfortunately, after some research I’ve found out, that all accounts from Russia and Belarus got banned
Now it’s not only impossible to participate in current competitions, but even view the archive
I’m not here to judge TopCoder decisions, but to ask for help

Is there any known open source archive of Marathon Matches with statements, examples, visualizers and other stuff?
Maybe someone from Codeforces community might help and publish it, if it doesn’t break any of TopCoder rules?

I’ll gladly help with automations needed to gather data, but I don’t have the full access to the TopCoder website
If you know any other source of such problems, please share in the comments

Maybe dimkadimon has something to say

Let’s hope, that peace breaks out and we all return back to normal :mending_heart:

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

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

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

Все задачи названы в честь песен моей любимой группы Hippie Sabotage. Рекомендую их послушать!

1826A - Trust Nobody

Подсказка1
Подсказка2
Решение

C++ реализация: 204718333

1826B - Lunatic Never Content

Подсказка1
Подсказка2
Решение

C++ реализация: 204718497

1826C - Dreaming of Freedom

Подсказка1
Подсказка2
Подсказка3
Решение

C++ реализация: 204718535

1826D - Running Miles

Подсказка1
Подсказка2
Решение

C++ реализация: 204718553

1826E - Walk the Runway

Подсказка1
Подсказка2
Подсказка3
Решение

C++ реализация: 204718603

1826F - Fading into Fog

Подсказка1
Подсказка2
Подсказка3
Решение

C++ реализация: 204718641

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

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

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

Привет, Codeforces!

Я рад пригласить вас принять участие в Codeforces Round #870 (Div. 2), который состоится в 05.05.2023 17:35 (Московское время). Раунд будет рейтинговым для участников с рейтингом менее 2100. Участники из первого дивизиона могут принять участие в раунде вне конкурса.

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

Я также хочу поблагодарить:

Разбалловка: $$$500-1000-1500-2000-2750-3250$$$.

Не забудьте прочитать ВСЕ задачи. Желаю вам удачи и высокого рейтинга!

Я старался сделать хорошие задачи и понятные/короткие условия, так что надеюсь вам понравится раунд и вы найдете задачу под себя :)

UPD: Разбор

UPD: Победители и первое полное решение

Div1 + Div2

Место Участник
1 A_G
2 Rubikun
3 kotatsugame
4 244mhq
5 risujiroh

Div2

Место Участник
1 Perfectt
2 Hovery
3 UmajiHidakata
4 ivatopuria
5 wrihapcod

Первое полное решение

Задача Участник
A arvindf232
B A_G
C ksun48
D kaiboy
E wsyear
F triple__a

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

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

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

TLDR; Yes, it's possible, but with some comments

First of all let's look at the past. Were there people that gained rating of 2400+ after a Div. 2 round?
Turns out this already happened!

The 5 contestants that reached red after Div. 2 rounds are

But of course there is always a catch. Both demon1999 and klimmek55 were already masters when they joined the contests, so I wouldn't count that as reaching grandmaster after a Div. 2 round.

Nevertheless, what about the other three?
They had a rating lower than 2100 before the contest and 2400 or more after. Easy peasy right?

Well, unfortunately, no. As a long time member of codeforces I remember this change in codeforces rating. It states, that new users recieve an additional delta for the first 6 rated rounds they participate in. One could already guess that all the remaining participants reached red in the first 6 rounds. apei and WYZFL in 4 rounds, and afterall in 5 rounds to be exact. This basically means, that they weren't really Div. 2 participants after all, since their accumulated deltas actually make them masters.

One could ask whether it is possible even in theory. This question is hard to answer, since codeforces rating is semi-open and might have some hidden limitations. But I am optimistic in this case, and since we know one user could be worth a thousand cyans, current contests are just not large enough for people to shine. If anyone can prove/disprove this mathematically, please share your thoughts in the comments.


CSV of 10000 best new ratings after Div. 2 rounds

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

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

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

I am facing some challenges writing editorials for a round. Some of them were discussed in this blog.

Now I am preparing my second Div. 2 contest (which is going to take place soon!) and I came to a point, where I want to start writing the editorial for the problemset.

My first contest was a total success in terms of editorial, it got heavily upvoted. Here are some key factors, which might have to do with it:

  • Problems. First and foremost, if the people were to hate the problems, it would definitely affect the rating of the editorial. Good problems are an essential part.
  • Timing. I published the editorial less than a minute after the contest, so more people would actually read it. Don't be like tourist in the recent rounds :D
  • Hints and spoilers in general. The editorial doesn't look messy, you can open only the tasks you need and hints are a great thing when trying to actually improve reading an editorial. Treat hints as if they're as important as the problem statements.
  • Implementations. My approach here was based on not copy-pasting the code to the blog, but actually making all the needed submissions after the contest and then add the links to the editorial. This way one could actually see, that the code is working, not look at some plain (or colored) text. This took a few hours, since you can't submit before the system testing is done. I had solutions in both C++ and python, which is nice for python CPers.
  • Responsiveness. There will be typos and bugs in the editorial, listen to the people, that are trying to point them out. Even the small inconsistencies might affect the understanding of a bunch of people. Especially the last problems, which are often overlooked, since very few actually read it.

There are a few adjustments that I might propose for codeforces team:

  • Let us add solutions for the problems beforehand, not after the system testing. By this, I mean automatically give access to the pre-written solutions after the round ends (I know you already make the submissions to test beforehand, just make them public).
  • Post the editorial automatically after the round ends.

I have questions to the more experienced problemsetters:

  • How do you synchronize editorials in Polygon and Codeforces blog? I like the idea of keeping everything in one place, which is Polygon for me. But with every small change I have to paste it to the blog by hand. Like, this is cringe.
  • How do you write editorial with spoilers in Polygon so that it doesn't say use quotes like ``text'' instead of "text" in tutorial. I am a perfectionist, I don't like this warning :(

Any other advice would be highly appreciated.

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

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

Автор okwedook, 4 года назад, перевод, По-русски

Привет, Codeforces!

Наконец-то я могу что-то вернуть этому прекрасному сообществу, поэтому я рад пригласить вас принять участие в Codeforces Round #703 (Div. 2), который состоится в 18.02.2021 17:35 (Московское время). Раунд будет рейтинговым для участников с рейтингом менее 2100. Участники из первого дивизиона могут принять участие в раунде вне конкурса.

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

Я также хочу поблагодарить:

Разбалловка: $$$500-1000-(750+750)-1750-2250-3000$$$.

Не забудьте прочитать ВСЕ задачи. Желаю вам удачи и высокого рейтинга!

Я старался сделать хорошие задачи и понятные условия, так что надеюсь вам понравится раунд:)

История

UPD: Разбор

UPD: Winners and First to solve

Div1 + Div2

Место Участник
1 renascencepjw0510
2 dlalswp25
3 Bohun
4 kmjp
5 theodor.moroianu

Div2

Место Участник
1 renascencepjw0510
2 Quirrel
3 YuuKoito
4 _Nyusha_
5 JackF

Первое полное решение

Задача Участник
A king_of_tt
B IgorI
C1 dlalswp25
C2 dlalswp25
D Omer223
E lulzz
F JackF

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

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

Автор okwedook, 4 года назад, По-русски

1486A - Сдвигая стопки

Подсказка1
Подсказка2
Решение

Решение на C++: 107892022
Решение на Python: 107892053

1486B - Восточная выставка

Подсказка1
Подсказка2
Решение

Решение на C++: 107892065
Решение на Python: 107892085

1486C1 - Найти наибольшее (простая версия)

Подсказка1
Подсказка2
Решение

Решение на C++: 107892097
Решение на Python: 107892140

1486C2 - Найти наибольшее (сложная версия)

Спасибо Aleks5d за предложение решения данной подзадачи.

Подсказка1
Подсказка2
Подсказка3
Решение

Решение на C++: 107892122
Решение на Python: 107892144

1486D - Максимальная медиана

Подсказка1
Подсказка2
Подсказка3
Решение

Решение на C++: 107892153
Решение на Python: 107892163

1486E - Парный платёж

Подсказка1
Подсказка2
Подсказка3
Решение

Решение на C++: 107892178

1486F - Пары путей

Подсказка1
Подсказка2
Подсказка3
Решение

Решение на C++: 107892186

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

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

Автор okwedook, 5 лет назад, перевод, По-русски

Привет, Codeforces!

Прошу помощи с одной проблемой и объяснения, почему такое может происходить.

Предыстория

В общем я писал дерево отрезков сверху, чтобы добавлять число на отрезке 739C - Алёна и башни. После написания корректной программы я застрял на 4 тесте. После стресс теста (около 20000 тестов) я не смог найти ошибку.

После ещё двух часов я добавил перед кодом #define int long long. Это помогло мне пройти 4 тест, но я получил TLE 47. Как вы могли понять я не понимал, почему это помогло. И так как я пишу это — я не понимаю до сих пор. После небольшого расследования я понял, что единственная разница в одном методе void add(int d). Вот коды: Wrong Answer 4 и Accepted. Единственное изменение — void add(int d) теперь void add(long long d). Внутри функции все, что я делаю это:

void add(int d) {
    p += d;
    left += d;
    right += d;
}

Все переменные p, left and right типа long long, так что единственная разница в d. Это разница означает что long long += int работает не так, как я ожидал. Я всегда думал, что оно конвертирует int в long long и затем складывает. Кажется это не так.

Надеюсь кто-нибудь сможет мне помочь и объяснит, почему такое происходит. Еще хотел бы узнать, как вы справляетесь с проблемами типа переполнения на соревнованиях.

Заранее спасибо.

UPD: Проблема решена.

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

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