Um_nik's blog

By Um_nik, history, 5 years ago, In English

I'm just in a mood to shitpost. Don't take it too seriously.

Things that I have heard of, but don't know (imagine how many things I haven't even heard of):

  • Li-Chao Segment Tree
  • Segment Tree Beats
  • RMQ in $$$O(n)$$$/$$$O(1)$$$
  • Any self-balancing tree except treap
  • Link-cut tree
  • Wavelet tree
  • Mergesort tree
  • Binomial heap
  • Fibonacci heap
  • Leftist heap
  • Dominator tree
  • 3-connected components in $$$O(n)$$$
  • $$$k$$$-th shortest path
  • Matching in general graph
  • Weighted matching in general graph
  • Preflow-push
  • MCMF in $$$O(poly(V, E))$$$
  • Minimum arborescence (directed MST) in $$$O(E \log V)$$$
  • Suffix tree
  • Online convex hull in 2D
  • Convex hull in 3D
  • Halfplane intersection
  • Voronoi diagram / Delaunay triangulation
  • Operation on formal power series (exp, log, sqrt, ...) (I know the general idea of Newton method)
  • How to actually use generating functions to solve problems
  • Lagrange Inversion formula
  • That derivative magic by Elegia
  • That new subset convolution derivative magic by Elegia
  • How Elegia's mind works
  • Sweepline Mo
  • Matroid intersection

If you know at least 3 of these things and you are not red — you are doing it wrong. Stop learning useless algorithms, go and solve some problems, learn how to use binary search.

Full text and comments »

  • Vote: I like it
  • +1965
  • Vote: I do not like it

By Um_nik, history, 5 years ago, In English

Time: Feb 7, 11:00 UTC+3

Link: Click (OpenCup login needed to participate)

Authors: Um_nik, Merkurev, KAN, WYOCMWYH with help from ashmelev, Ferume, fake123 and dario2994.

The contest was used for Petrozavodsk training camp and ICPC training camp.

Editorial

Full text and comments »

  • Vote: I like it
  • +272
  • Vote: I do not like it

By Um_nik, history, 5 years ago, In English

We invite you to participate in CodeChef’s December Lunchtime, this Saturday, 26th December, from 9:30 pm to 12:30 am IST.
Note the unusual time. It starts at 9:30pm instead of the usual 7:30pm

You will be given a total of 8 problems (6 in Div2, 6 in Div1) to solve in a duration of 3 hours.

Joining us on the problem setting panel are:

Problem Submission: If you have original problem ideas, and you’re interested in them being used in CodeChef's contests, you can share them here.

Prizes: Top 10 Indian and top 10 Global school students from ranklist will receive certificates and CodeChef laddus, with which they can claim cool CodeChef goodies. Know more here.

The video editorials of the problems will be available on our YouTube Channel as soon as the contest ends. Subscribe to get notifications about our new editorials.

Good luck and have fun!

As this is my first contest as CodeChef admin, I wanted to add few words from myself. Please do consider setting problems on CodeChef, we need your help to create great contests! One of the advantages of setting problems on CodeChef is that you don't have to create whole problemset by yourself (though it is certainly possible, you can write directly to admins to contest.admin2@codechef.com for LunchTimes and to contest.admin3@codechef.com for Cook-Offs). Many new authors can't create whole problemset without experience, and that's totally understandable! Sending problems for review allows you to get feedback for our admins (Um_nik, 300iq, jtnydv25, Ashishgup and Morphy), and if your problem is good, you will get the invaluable experience of setting a problem for thousands of participants worldwide while working side-by-side with some of the best minds in competitive programming. Some of the best problems in this contest are set by first-time problemsetters, at least on such a level, and they did a great job, I'm looking forward to working with them again.

Apologies to SeismicToss for messing up the announcement :)

The contest is unrated due to queue and server issues.

Full text and comments »

  • Vote: I like it
  • +350
  • Vote: I do not like it

By Um_nik, history, 6 years ago, In English

I have resumed screencasts with commentary, you can find them here

Full text and comments »

  • Vote: I like it
  • +130
  • Vote: I do not like it

By Um_nik, history, 6 years ago, In English

In yesterdays ACL1 I got WA on problem B. It turns out that compiler ignored the function call inside assert, the same code with function call not in assert works fine. Moreover, Merkurev explained that the reason for that is -DNDEBUG flag, and my submission works on GCC.

I don't understand computers, I just memorized some stuff that's enough for solving puzzles. I want to ask why the -DNDEBUG flag used in Clang, but not in GCC. rng_58?

Full text and comments »

  • Vote: I like it
  • +170
  • Vote: I do not like it

By Um_nik, history, 6 years ago, In English

Since antontrygubO_o has became CF coordinator he is trying hard to make rounds which meet his standards for quality and (more importantly) beauty. I think he is doing a great job.

For some time there is a very vocal group of people who dislike his view on things. I feel like it will be hard for Anton to maintain his work if he would think that majority of people doesn't approve.

But I don't really think that this is a majority. If you enjoy rounds prepared or coordinated by Anton, please comment here with some positive feedback.

#AdHocProblemsMatter

Full text and comments »

  • Vote: I like it
  • +1794
  • Vote: I do not like it

By Um_nik, history, 6 years ago, In English

I have to ask Snark about updates on OpenCup twice a week. If you are as tired and don't want to miss next Grand Prix — join this Telegram channel. I will try to post anything I was able to get from Snark. Hopefully he will come to his senses and will admin the channel himself some time in the future.

UPD: Snark has admin rights now, maybe we will get the news in time.

Full text and comments »

  • Vote: I like it
  • +147
  • Vote: I do not like it

By Um_nik, history, 6 years ago, In English

As you may know, Petrozavodsk SU holds training camps for top teams twice a year. This time we decided to try to do screencasts of our participation, you may find them here. Unfortunately due to some technical errors we lost screencast of the first contest and the last 2 hours of the second one (we are not pros in screencast area, sorry).

Please note that if you are going to participate in Izhevsk mirror or by other means participate in these contests, you may ruin the fun for yourself.

Full text and comments »

  • Vote: I like it
  • +47
  • Vote: I do not like it

By Um_nik, history, 6 years ago, In English

Any explanations why at the same time happened this to these legends? :O

Full text and comments »

  • Vote: I like it
  • +410
  • Vote: I do not like it

By Um_nik, history, 6 years ago, In English

I'm thinking about doing more videos, not only screencasts of rounds. For some time now I'm using OI Checklist by RezwanArefin01 (cannot recommend enough, especially if you are preparing for hard IOI-style contests) as an archive, so I'm thinking about doing videos with editorials (more like my thinking process) for some old POI problems.

So, here are some questions for you:
1. Is this interesting?
2. Should I read (and think about) problems beforehand? Pros: I will have more structured thoughts about problem, I will know for sure if I will be able to solve this problem in a short time, ??? Cons: It is kinda unfair, it may look like I'm crushing it when in reality it could take hours for me to solve, ???
3. Should I do one-problem length videos? The problem is that I prefer to open some (3-6) problems, read all of them, and then think about each problem for some time, probably starting with the one I liked more.
4. Despite these are OI-style problems with partial scoring I'm trying to go for a full solution, most of the time ignoring groups. Sometimes full solution of these problems are really-really hard. Should I do groups always, or only when I'm stuck for long time, or other options?
5. Do you have any suggestions about what kinds of videos I should make? Or other things I didn't think about concerning this particular kind?

You can look at my channel here

UPD
Thanks for your input! I thought a bit myself and here is my current position:
I'm willing to invest some time to learn basic video editing (yeah, didn't do anything before, just recording screencasts), I hope that I will even add some things to screencasts in post. This way I can read some problems, then solve them one-by-one, but make separate videos for each problem. Mostly I will do "blind" attempts at problems, since most of your want to see me struggle :) I will go through groups if they are interesting, but rarely will implement partial solutions.
About lectures and lower-level educational videos: don't think so at least for now because it is not interesting for me.
Because of learning basic video editing I will be slower at first, but I hope to do first video in next few days, so stay tuned! Also later today I will upload USACO Platinum screencast, so you can watch this if you are interested.

Full text and comments »

  • Vote: I like it
  • +334
  • Vote: I do not like it

By Um_nik, history, 7 years ago, translation, In English

raidFoxx, mVpick and navneet.h are trying hard to invite me to their team. I rejected this invite 5 times already.

So, guys, you wanted my attention, here it is.

I can't really think of good solution to prevent such behavior. Maybe someone can?

Full text and comments »

  • Vote: I like it
  • +291
  • Vote: I do not like it

By Um_nik, history, 7 years ago, In English
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...

Full text and comments »

  • Vote: I like it
  • +65
  • Vote: I do not like it

By Um_nik, history, 7 years ago, In English

Hello!

I'm glad to invite you all to Round 576 which will take place on 30.07.2019 17:35 (Московское время).

There will be 6 problem in both divisions.

Round is based on Team Olympiad in Computer Science Summer School. It is (yet another) summer school for schoolchildren organized by Higher School of Economics and "Strategy" Center in Lipetsk. Almost all the problems are authored and prepared by teachers and teaching assistants in CSSS: Um_nik, Burunduk1, fake123_loves_me, MakArtKar, Villen3tenmerth, Aphanasiy, Gadget. One of the problems is authored by Merkurev (just because we are friends :) ). One more problem for the round was added by KAN.

I would like to thank KAN for CF round coordination, I_love_Tanya_Romanova, Merkurev, Rox and 74TrAkToR for testing, and Codeforces and Polygon team for these beautiful platforms.

Scoring will be announced.

Upd: We added one more problem to div.1 contest, now both contests have 6 problems (4 in common). The round is not combined, if it were, I would write "combined" in the title.

Scoring distribution:
div2: 500-750-1250-1750-2500-3000
div1: 500-750-1250-1500-1750-2250

Congratulations to our winners!
div.1:
1. Radewoosh
2. tourist
3. mnbvmar
4. Benq
5. pashka
div.2:
1. ChthollyNotaSeniorious
2. Honour_34
3. idxcalcal
4. shogunator
5. yijan

Editorial won't be published.

Full text and comments »

  • Vote: I like it
  • +192
  • Vote: I do not like it

By Um_nik, history, 7 years ago, In English

How do I choose contest for practice: go to Gym, set difficulty to 4+ and duration to 5h, look through the list. In some of the contests I already participated, it is clearly visible in the list.

Problem: On the top there are other contests I don't want, I have to skip them every time and this list is growing. Why would I not want given contest? Maybe I participated on a different platform, or maybe difficulty is not right for me, or maybe I want to leave it for later team training.

Obviously, CF cannot detect any of these issues. But maybe we can have button "don't show this contest for me", just like Fav button? MikeMirzayanov

Another (less useful for me, but maybe more useful for community) possible feature is to allow users with coach mode to change difficulty settings. C'mon, low red get total in 4h, how is this a 4 star.

Full text and comments »

  • Vote: I like it
  • +104
  • Vote: I do not like it

By Um_nik, history, 7 years ago, In English

Hello Codeforces!

Sadly there will be no OpenCup round this weekend, but instead I invite you to participate in a mirror of t.me/umnik_team Contest which will be held on Timus Online Judge this Sunday, 12 MSK. This contest was originally held on Petrozavodsk Summer Camp 2018 (if you participated in the camp, please do not participate in this contest). This is an up-to-3-person team contest with ICPC rules (one computer per team). Difficulty level is comparable to OpenCup rounds (not EvenImage-hard, but certainly not for Div.2).

Author of most of the problems is me, with huge help from Merkurev and one problem from Kronecker.

Hope you will enjoy the contest.

Full text and comments »

  • Vote: I like it
  • +212
  • Vote: I do not like it

By Um_nik, history, 7 years ago, In English

Last three blogs on main page of CF shouldn't be on main page. And it become quite common thing in recent CF practice. Main page should contain only something that all users should see. Of course, round announcements, platform upgrades and sponsor posts should be on main. Blogewoosh had some rights to be on main because it was cool series of blogs which had chosen CF as its platform so CF should have praise it (but it would be nothing wrong for it to be just in Radewoosh's posts like everything else). But all other stuff? Let's look at some examples for the last year.

Important: I'm not saying that these blogs are bad. Most of them are good. But why are they on main page? CF have great blogs system, every user can write something helpful. Just don't put random stuff on main.

Some algorithm stuff which is better than other algorithm stuff, I guess:
C++ STL: Order of magnitude faster hash tables with Policy Based Data Structures
Linear Recurrence and Berlekamp-Massey Algorithm
[Tutorial] Searching Binary Indexed Tree in O(log(N)) using Binary Lifting
Don't use rand(): a guide to random number generators in C++ — this one is kinda mandatory for participating in CF rounds due to bad compilers on CF, so it is good that it was on main
Blowing up unordered_map, and how to stop getting hacked on it

Random contests in gym which are better than other contests in gym, I guess:
Original Gym contest: Geometry Special 2018
2018-2019 ACM-ICPC, Asia Xuzhou Regional Contest (Online Mirror on Gym)
ROI 2018 in GYM

Promoting Errichto, I guess:
Stream
Sums and Expected Value — part 1
Lecture #3 — Exchange arguments (sorting with dp)

More sponsored stuff??
Анонс кружков от tinkoff.ru
My Course at Harbour.Space University: Advanced Algorithms and Data Structures (January, 2019) — selfpromotion, also nobody should pay 1000 euro for a course no matter what this course is. This is just abusing position as Codeforces CEO

IDK
Lunch Club at ICPC WF
The D programming language in competitive programming
Codeforces Contests Picker Goes Live: Celebrating ICPC Season
Team dashboard
Let's bring souvenirs to the ICPC World Finals
Unnecessary blogs on main

MikeMirzayanov's personal blog:
Hello, ITMO! — yes, there are some inforamtion about platform improvements but it is just an excuse to write this post
Codeforces Round #547 (Div. 3) — round announcement? Um_nik is totally crazy. Well, yes, but the photo and "I'm so cool I made a round in 6 hours" is nonsense. Also how about wait in line for half a year like others do?

It looks like it is just a question of whether Mike saw and liked the post. MikeMirzayanov, CF main page is not your personal blog. Please don't use it as your favorite tab.

Full text and comments »

  • Vote: I like it
  • -391
  • Vote: I do not like it

By Um_nik, 7 years ago, In English

Someone suggested recording screencasts, I made a poll in my telegram channel (Russian only) and the idea was positively accepted. So, here is my first screencast. I think I will be doing them on every round (if possible) while someone is interested (because it is easy, just 4-5 clicks).

I know that some people would like me to do commentary, but on live rounds I'm trying show my best performance, so it won't happen. But you can suggest some things and maybe I'll do something.

I read Russian problem statements on screencast (because it is more convenient for me), but the code is in C++/Python, so it shouldn't be a problem.

UPD (10.01): I uploaded Hello 2019 screencast and almost uploaded round 530 screencast. I had bad internet connection when I was solving the contest, so I upload only now. Normally I will upload screencasts no more than 30 hours after the contest, so if you are interested in watching it, just go to my channel. I won't make updates like this in the future.

Full text and comments »

  • Vote: I like it
  • +89
  • Vote: I do not like it

By Um_nik, history, 7 years ago, In English

It is this time of year! Many people trying to summarize all the things happened during the year. And since I love to hate people, I want to make a vote for most annoying person on CF in 2018.

I know that I'm in top contributors list for too long, so to vote for given person you should downvote the comment with this person's handle(s). Due to the nature of voting through comments on CF, you can vote for many people, and you can also upvote comments if you find given person's comments helpful/funny/positive.

If you care for your contribution but want to nominate a candidate, you can PM me their handle(s), then I will write a comment to vote. Note that I will write that it was you who nominated this person, so it saves your contribution but not relationships with the nominee. I will ignore messages from people without rating.
If you hate someone already nominated so much that you want them to know, you can also PM me so I'll add you to list of people who nominated given person.
Obviously, you can nominate someone with your own comment, but watch out for downvotes.
Also, you can try to increase your contribution by nominating some very nice people unanimously loved by community. In that case I will nominate you right after that.

I know that I'm obvious candidate, especially after writing this post. But I don't annoy me, so go on and show me your hatred :)

Love you all, Um_nik.

Here are our champions:
-515 rotavirus
-316 riela
-264 MikeMirzayanov
-236 peltorator
-224 CodingKnight
-198 adamant
-166 droptable
-143 kostka
-135 300iq
-135 I_Love_isaf28
-134 I_love_I_love_isaf27

Full text and comments »

  • Vote: I like it
  • +480
  • Vote: I do not like it