Good Bye 2022: 2023 is NEAR finished, and I participated in it with usual explanations of everything that I do and with editorial of A–E in the end. You're welcome to watch, the video is already on the channel!
Good Bye 2022: 2023 is NEAR finished, and I participated in it with usual explanations of everything that I do and with editorial of A–E in the end. You're welcome to watch, the video is already on the channel!
Two days ago Northern Eurasia Finals 2022 took place, mirror of which was on Codeforces: 2022-2023 ICPC, NERC, Northern Eurasia Onsite (Unrated, Online Mirror, ICPC Rules, Teams Preferred). In the next few hours the standings got unfrozen, thereby we know the list of the teams that qualified to the ICPC Finals this year:
1st place 🏆 MIPT: Yolki-palki (Pechalka, Kapt, Tikhon228)
2nd place 🥇 HSE: FFTilted (Kirill22, teraqqq, Ormlis)
3rd place 🥇 SPb SU: Urgant Team (sava-cska, 74TrAkToR, orz)
4th place 🥇 Belarusian SU: 1: Dungeon Thread (Septimelon, RED_INSIDE, programmer228)
4th place 🥇 SPb ITMO: pengzoo (iakovlev.zakhar, DishonoredRighteous, golikovnik)
12th place 🥉 Innopolis: U A (Farhod, Mprimus, Laggy)
14th place Kazakh-British TU: DeoxyriboNucleic Acid (amanbol, Na2a, DimmyT)
15th place SPb HSE: Just3Keks (Xrite, vmos1999, NeKpoT)
20th place Nazarbayev U: wf or gf? (dulatcodes, CMaster, krauch)
23rd place AITU: 1 (Muratov, Aliaidar, Kamzabek)
24th place Moscow SU: apes together strong (voyrus, Vladithur, revelcoS)
27th place BSUIR: #1: So stuffy (kartel, p3rfect, romarkovets)
Congratulations to everyone aforementioned!
I started coding after I discovered LOUD Enough's cp journey, they showed me that all three barracks can fall simultaneously within first ten minutes of Survival Chaos round
so thank you, tranquility, nikgaevoy, Kaban-5 for your introduction to the CP world
In my deepest gratitude I've drawn all three some of you solving questions on Codeforces site
As Makoto Soejima said, never give up!
please don't down vote, it's my first blog post
After a bit of a pause I release a new video on my channel — screencast of explanation Codeforces Round 833 (Div. 2). Although my participation was not that successful, I solved five problems and explained all six problems in the video. Feel free to watch!
Сегодня demon1999 радует нас замечательным праздником — сегодня ей исполнилось 23. Спасибо ей за это!
Today there were two nice contests in a row: AtCoder Regular Contest 149 and Codeforces Round 824 (Div. 2). I participated in both of them.
My participation in AtCoder Regular Contest 149 was quite a failure, I neither speedforced nor solved any of the harder problems. The video is already on my channel: https://youtu.be/3D1IbPtrLWg
My participation in Codeforces Round #824 (Div. 2) wasn't a failure, I even finished second! (And this is my by far the most successful participation in an unrated round.) The video is uploaded but still processing, so soon you will be able to watch it. As always, a nice bonus is a detailed editorial in the end of the video: https://youtu.be/fbFAg1th5oM
Subscriptions, comments, likes, watches and other ways of expressing feedback are welcome!
UPD. Now both videos are watchable. Enjoy!
Dear everyone,
As always, my screencast and detailed analysis of problems A–G of Codeforces Global Round 22 is already uploaded (but still processing for high-quality viewing) on the channel. This time the video is huge — over five hours!
Please watch, enjoy, learn, comment — anything you want!
UPD. The video is ready for viewing.
Признаться честно, не люблю я контесты от крупных компаний типа Гугла и Фейсбука. Когда в них участвую, я из-за формата соревнования чувствую постоянный дискомфорт, как будто крупные компании предпочитают игнорировать то, как проводят соревнования по программированию опытные платформы типа Codeforces и AtCoder. Но сегодня прошёл так далеко, как ещё никогда не заходил — занял 201-е место на Meta Hacker Cup 2022 Round 2 и прошёл в Round 3 (предшествующий финальному). Не надюсь, что я пройду в финал, но для меня и третий раунд — уже вполне себе финал!
Запись моего участия можно посмотреть здесь.
Today I participated in Codeforces Round 819 (Div. 1 + Div. 2) and Grimoire of Code Annual Contest 2022. At first glance, this was really a nice contest, and even though some problems were a bit too technical, they did contain some certain ideas (and as to whether these ideas were cool and beautiful, I guess there's no accounting for taste). However, the tests in the harder problems weren't strong enough. For example,
I easily uphacked nikgaevoy's solution 171150224 of 1726F - Опоздать на работу (отправка решений запрещена), where he printed negative numbers on tests as little as with $$$n=2$$$; (btw, congrats nikgaevoy on becoming an IGM!)
heno239 uphacked turmax's solution 171126442 of 1726G - Некая волшебная вечеринка with also a tiny test; (btw, congrats turmax on becoming an LGM!)
Nevertheless, I screencast the solving process (with my struggling to solve 1726F - Опоздать на работу (отправка решений запрещена)) and explanation of problems A–F, and I am now uploading it to YouTube, the video should appear here in several hours. Please leave your feedback (and other cases of high- or low-quality testing in this contest) in the comments!
UPD: While I was sleeping, two news have happened:
The video uploaded successfully.
The round became unrated because of the problem F, from which I suffered a lot during the contest. (By the way, the suffering had nothing to do with the quality of the tests in this problem or with this issue, I just made stupid bugs). You may read this and this blog to get to know the incident.
I got to the 41st place in Codeforces Round 814 (Div. 1), which quite surprised me because my last several contests were also pretty lucky, not to say in this contest I was extremely slow in solving the problem A. Still I followed the tenet from the never_giveup's handle and finished the contest, it happened to be not that bad. Moreover, I beat my personal best of rating. I screencast and explained 1718A2 - Burenka and Traditions (hard version), 1718B - Fibonacci Strings, 1718C - Tonya and Burenka-179 and partly 1718D - Permutation for Burenka from this contest here: https://youtu.be/6iaSJikYZ-o
Feel free to watch and leave your invaluable feedback!
Since there were not that many Div. 1 rounds last several days, I decided to compete in a Div. 2 round. This time my participation was quite poor, but still I solved and explained some of the problems in front of a camera, so I hope that my video will be useful for my adorable viewers: https://youtu.be/ZF42Y5cQhf4
As with my previous video, any sort of feedback is welcome in the comments.
Недавно я стал записывать на видео процесс решения контестов и уже выложил несколько записей на свой Youtube-канал. Все эти видео на русском языке, потому что мне проще на нём думать и рассуждать.
Сегодня в качестве эксперимента я решил записать CodeTON Round 2 и говорить в течение ролика на английском языке. Да, мои рассуждения там получились довольно фрагментированными (в спидфорсес-условиях не хочется тратить много времени на объяснение идей, которые пришли в голову, когда уже пора садиться кодить их). Тем не менее, поскольку я занял 24-е место, я подозреваю, что видео всё равно получилось интересное и в чём-то познавательное, поэтому приглашаю всех желающих понаблюдать за процессом: https://youtu.be/ZK8vVVhoQXI
Так как ниша ютуб-блоггинга для меня весьма нова, жду любых советов. Можете их оставлять в комментариях под постом или под видео, а также отправлять мне в личку.
Several days ago I published a table with first people to reach certain ratings. It featured only ratings above 1500, and adamant advised to do the same, but on achieving ratings below 1500. I found it quite interesting, and, after several days of collecting data about participations of 447911 Codeforces users, I finally made this table.
Several days ago I published a table with first people to reach certain ratings. It was a bit raw because, firstly, it was based on top 20000 Codeforces users by rating, and, secondly, because it only gave information about ratings divisible by 50. Now I have prepared a table that is of more complex design, but both issues are resolved. Good luck understanding what is going on in it.
Hi there!
Recently after Codeforces Global Round 21 Um_nik noticed that he might be the ninth or tenth person to reach 3600 rating points, but still he did it earlier than Petr. I wondered whether Um_nik really was that attentive to know for sure how many people reached 3600 before him. As this is an objective truth or an objective misconception, I decided to simply check it.
Рассмотрим такую задачу: даны три целых числа $$$x$$$, $$$y$$$ и $$$m$$$, $$$0 \leqslant x,y < m < 2^{32}$$$, найти $$$xy\bmod m$$$. По-хорошему хотелось бы просто перемножить эти два числа, а потом применить операцию остатка:
uint32_t prod(const uint32_t x, const uint32_t y, const uint32_t m)
{
return x * y % m;
}
Как вы, возможно, догадываетесь, это решение неверное. Всё дело в том, что в такой процедуре возможно переполнение: операция x * y
выполняется в типе uint32_t
, и на самом деле промежуточным результатом выполнения этой операции будет не $$$xy$$$, а $$$xy\bmod2^{32}$$$. Если после этого взять результат по модулю $$$m$$$, он может отличаться от правильного:
Выход прост — перемножать необходимо в большем типе:
uint64_t prod_uint64(const uint64_t x, const uint64_t y, const uint64_t m)
{
return x * y % m;
}
Если так делать, то, поскольку $$$xy<2^{64}$$$, это произведение точно не переполнится, и после взятия результата по модулю получится правильный ответ.
Вопрос: а что делать, если $$$x$$$, $$$y$$$ и $$$m$$$ могут быть больше?
Сейчас проходит церемония закрытия IMO 2021.
Лучшими странами оказались:
Ссылка на английскую трансляцию: https://youtube.com/watch?v=LHi_xjvLEbI
На русскую: https://youtube.com/watch?v=23cTkofxbq4
IMO 2021 opening ceremony takes place right now. Join the chat!