EnumerativeCombinatorics's blog

By EnumerativeCombinatorics, history, 5 years ago, In English

As I mentioned a few years ago, I make Youtube videos for explaining algorithms and contest techniques (and for me, practicing spoken English). Channel

Recently, after a long break, I restarted making lecture videos on Youtube (I am aiming at posting 1-2 videos per week). I am also posting the upsolving videos of AtCoder Beginner Contests as well. However, I am not sure what algorithms many competitive programmers are curious about.

So this time, I am open for requests: which topic do you want me to explain? Of course, I cannot do everything, there are time constraints and limitations of my ability. However, speaking of algorithms and techniques on programming contests, I have experience and knowledge in each topic as much as I can become a red coder in Codeforces + AtCoder + TopCoder.

Feel free to comment down below. I will try to pick some popular topics from here. (Also I can review onsite contests or reference books or reading weird comments on Codeforces just for fun. I'd appreciate requests for these sections as well :P )

Update: As I have received a lot about dynamic programming (and somehow my DP videos got more attention than others), I'm currently posting Educational DP Contest commentary & implementation one by one as my daily routine. (26 problems in 26 days)

Full text and comments »

By EnumerativeCombinatorics, history, 6 years ago, In English

Hello,

I am majoring in theoretical ecology at the University of Tokyo. I am scheduled to graduate from the current MSc program in March 2020, and I am planning to get in a Ph.D. program (outside Japan, due to financial and other problems). My interests are mathematical/computational biology/ecology, combinatorics, graph theory, exponential algorithms, etc.

Currently, my biggest concern is that I have no CS degrees, or even something related to CS. I graduated from the University of Tokyo in ecology BSc. However, I have achievements and contributions in competitive programming area more than average (How 'more than average'? This is my list Link).

Is it possible for non-CS students with competition achievements like me to get in CS PhD program to research algorithms? How are the chances? Does it depend on schools or region? I have no one to ask about it because almost all the redcoders are CS or mathematics major, and especially in Japan, very few people apply for PhD program overseas. Any advice (other than common advice you can find on the top search result of "how to get in phd" or something) is more than welcome ;)

P.S. Recently I resumed posting videos related to algorithms and programming contest techniques to Youtube. Take a look if you are interested. Link

Full text and comments »

By EnumerativeCombinatorics, history, 7 years ago, In English

I think this is the right time of showing the way of team selection in Japan, so I spare time for writing a blog, instead of preparing for Distributed Code Jam finals.

Compared to other countries, Japanese selection rules are very simple. Perhaps this is the simplest rule among the countries getting gold medal almost every year.

There are 3 rounds to go to IOI. Each round is independent so even if you don't do well in the previous round, you wouldn't have disadvantages for the next round (as long as you are qualified).

1. JOI Qualification Round (JOI 予選)

The number of participants is a bit larger than 1,000. There are 6 tasks and contest duration is 3 hours. Judging from the past years' problems, the first task is really easy (like "I have 10 integers, and I'll give you 9 of my integers and the sum of all my integers. Can you guess the remaining integer?"), and about 5 students can solve the last task. This round is held online, and it seems AtCoder system will be used for the first time this year. If you have participated in Selection Camp before, you are automatically qualified to the Final Round. Otherwise, about 60 students with highest score advance to the next round, and there are other qualified students that even I don't know how are selected ( BLACK BOX :( ).

You can find and solve past problems on Aizu Online Judge. Some problems are translated in English and some can be read through Google Translate.

2. JOI Final Round (JOI 本選)

This is the national championship. The top 3 members are awarded medals and laptops. The number of participants is 70 to 80, and the contest is held in Tokyo or Tsukuba (the next IOI's place). You don't have to pay for your travel fee and staying cost, and the contest takes 2 days (including practice session and party). That's why I started to participate in JOI when I was 8th grade.

Usually, the contest has 5 problems and 4 hours, and cutoff line is between 2 full-solutions and 3 full-solutions (I think). Sometimes the last problem of this round is the hardest problem of the year.

You can also find and solve past problems on Aizu Online Judge.

3. JOI Spring Camp (JOI 春合宿)

The most important round for participants. The national team is selected by the result of this camp. Around 20 students with highest score in the Final Round can participate in this camp.

Usually, the camp contains 4 competition days (the camp itself is 7 days long, including practice round, lectures, and awarding ceremony of the Final Round). In each day, there's an IOI-styled contest with 3 or 4 problems and 5 hours. Despite only batch-style problems are used in previous two rounds, various kinds of problems are seen in this camp, including output-only, communication task, encode-decode task, etc.

The problems used in the camp are known as "toughest yet most interesting problems" in Japan. I agree with the "toughest" for this year, because even yutaka1999 couldn't solve more than a half of the problems. "Most interesting"? I can't judge it since there are so many interesting contests in Japan, thanks to AtCoder.

The top 4 students are selected for Japanese national team of IOI. Oh, what a simple selecting method.

You can find past problems here (Japanese) and judge is on AtCoder (example, by changing the URL you can submit to past problems). Luckily, this year's problems are translated in English, so you can practice without the help of Google Translate (awoo).

4. JOI Open Contest

Practice contest for IOI, usually held in June or July. Usually 3 problems in 5 hours.

This is not related to national team selection, so students can be relaxed to take part in the contest. the problem statement is provided in both Japanese and English. You can find further explanation on Codeforces (maybe joisino posts about this contest every year).

5. Conclusion

Practicing with other country's OI problems seems very helpful, but they are often written only in their mother languages. Translating problems is a demanding work and nobody wants to do without payment. That means learning a new language for competitive programming practice makes sense (really?).

Full text and comments »

By EnumerativeCombinatorics, history, 7 years ago, In English

Welcome to Wolf world, rpeng!!

Full text and comments »

By EnumerativeCombinatorics, history, 7 years ago, In English

ICPC regional contest season is coming. Here in Japan, the first round of Japanese ICPC regional contest was held last week, and the result is up now. Link

You can see the passed team as shaded blue, and "A/B/C" means how the team was advanced (A is just because of the good result, B is the newest universities coming to ICPC, C is the director's arbitrary decision).

As soon as you take a look on the sheet, you can find how some of the top teams are eliminated from the selection. This year, at most 4 teams from the same university can advance to the next round, and 6 out of 7 top teams are from the same university, The University of Tokyo. The tragedy has happened. 6th and 7th team are eliminated from the contest, even though they were much (!) better than 38 teams advancing to the Asia Regional!

Some of you here knows how notorious the team selection of ICPC Asia regional is: complex concept of slots and multiple participation, as well as CJHwang's arbitral decisions. Here in Japan Domestic, it's not quite different: every year there are some troublesome arbitral selections, unfair choosing rules.

Of course, the official tries to maintain the number of universities they invite, since it's crucial for deciding how many teams from the site can advance to the World Finals. However, the current strategy is obviously not a good idea. I agree that they have to keep the number of distinct schools, yet it's nonsense that they are setting a limit of the number of teams from a university. If I were the admin, firstly I'd choose 30 teams which are the first rank of their university, then I'd choose unselected teams from the top. I can't believe that the admins don't feel anything about choosing the 40th team (even 2nd in the university) over the 6th team.

That is the (notorious) case of Japanese ACM-ICPC. How is it like in other countries? I'm the most curious about the system in Taiwan, since National Taiwan University dominates Taiwan regional every year, and I might be able to find some coincidence from that. Also, are there any other good ways of solving the issue? I'd like to see many people's comments.

Full text and comments »

By EnumerativeCombinatorics, history, 8 years ago, In English

Note that this is not official yet.

CF Handle Country GCJ R3 Place
1. fagu Germany 33
2. bmerry South Africa 47
3. krijgertje Netherlands 167
4. ecnerwala United States 90
5. pashka Russia 39
6. Swistakk Poland 36
7. KAN Russia 21
8. adsz Poland
9. tourist Belarus 2
10. eatmore Russia 8
11. Endagorion Russia 7
12. simonlindholm Sweden 5
13. voover Poland 249
14. W4yneb0t Switzerland 248
15. Merkurev Russia 37
16. eddy1021 Taiwan
17. davidv1992 Netherlands 89
18. fhlasek Czech Republic 86
19. HellKitsune Russia 49
20. Um_nik Russia 34
21. EnumerativeCombinatorics Japan 191

Full text and comments »

Tags dcj
By EnumerativeCombinatorics, history, 8 years ago, In English

Thank you ICPC World Finals 2017 for animating the competitive programming community!!

Also, congratulations all medalists, including my school U Tokyo!

Full text and comments »

By EnumerativeCombinatorics, history, 8 years ago, In English

Hello,

I wrote a blog article, "Interview with Top-Level Competitive Programmers World-Wide". You can read here.

I want to explain why I started this project a little.

Every December, Japanese competitive programmers do "Advent Calendar", or one or two of them write a blog article each day. Everyone considers about their unique article. I also did that, and finally came upon with an idea: share the answers to some questions with competitive programmers outside Japan!

Thanks to steadily growing Japanese competitive programming community and AtCoder the contest holding company (along with the sponsor Recruit Holdings), world-wide programming contest Code Festival 2016 was held in Tokyo. That means I can ask some international coders those questions! Then, I finally made up the article we wished.

Thank you yutaka1999, KAN, dnk, polequoll and whom I asked for the interview for spending your precious time for my article.

Hope you will enjoy it, and share how you think about each questions on Comment if you would like.

Full text and comments »

By EnumerativeCombinatorics, history, 9 years ago, In English

Hello coders,

Today I'll introduce my new YouTube channel: Link

In this channel, I'll introduce many little tips that is not on textbooks but useful for problem solving. I've solved 4000+ programming problems overall and I got a lot of practical knowledge from that, so I want to explain various kind of educational approaches from my experiences. I'm not explaining how typical ones (such as segment trees or flow algorithms) work because a lot of better videos are already on YouTube, and I'm focusing on tricky techniques (and I'm sure that many redcoders know about these techniques). I think that most of those can be applied for only specific several problems, but those tips are very important to get higher places.

However, I'd like you to know that I began this channel for improving my English, so I'm sorry for my (currently) very poor English. I hope that I'll be better soon.

Feel free to comment about my videos here, or on YouTube.

Full text and comments »

By EnumerativeCombinatorics, history, 9 years ago, In English

Hello, I'm writing this article just for fun and there's no advisory things for problem solving.

I've been participating in many programming contest for more than 5 years, and I came to one question: what do competitive programmers major in?

Most competitive programmers would answer, "computer science" of course, "mathematics" (applied? I don't know much about that), or "engineering".Some of coders are still high-school students and they haven't decided their major yet, or maybe some people works after graduating high-school. But is that true that 99 percent of university coders are majoring in those subjects?

In fact, I'm studying about ecology and environmental sciences at the Faculty of Agriculture in my university (The U of Tokyo). I guess no other competitive programmers are from my faculty, even though U of Tokyo has so many red or yellow coders (as you may know).

Here's my story: I started competitive programming when I was a junior high school student. I was belonging to mathematics club in the school and my friends taught me about programming, algorithms and where to practice problem solving skills. Then I participated in domestic OI and a few years later I won a silver medal at IOI. At the same time, I've become interested in biology, and attended domestic Biological Olympiad things. On programming side, I was (and still am?) interested only about contests and I didn't have a plan to be engineer or researcher about informatics. Then, I'm studying about ecology now.

When I was a high school student and taking part in domestic OI, I met friends who would major the subject far from computer science, but most of them didn't keep solving problems or participating in contests. Even I'm not sure how long I can take part in contests (of course I want to compete in the contest as long as I can), but I think I may be the best competitive programmer from agriculture areas as long as I keep participating contests ;).

So today, I wonder how many coders from over the world are majoring such a subject, and want to know very unique majors you do or you did. Feel free to comment about coders' university majors.

Full text and comments »

By EnumerativeCombinatorics, history, 9 years ago, In English

Hello, I'm writing a blog entry because I'm seeking the answer for the problem: Competitive Programmers and English. As you can see, it is not a competitive programming problem, but a real-world problem.

At first, I describe why I want to ask it to Codeforces users.

In my case, I'm very poor at English, especially speaking fluently. For example, I didn't get an internship jobs outside Japan because of the language problem, although I applied for many companies and I was very good at writing codes for interview problems. Most companies did not give me why I was rejected, but it is almost obvious that it is because of my very poor English speaking skills. Besides, when I went to IOI 2015 as the problem statement translating team of Japan, I have many opportunities to talk with competitive programmers from outside Japan, but indeed I couldn't talk with them very well. Somehow I took a TOEFL exam, and I've got not so low score in total. However, my speaking score is about 10pts out of 30 lower than reading, listening and writing. So it is obvious that my weakness is English speaking, and I feel it is a big barrier to do many things, such as internships, attribution for competitive programming community, organizing contests, and of course communicating with coders from over the world.

Today, it is very easy to find the article such as "How to practice English speaking" or "n things to improve your English fluency", but almost all of them said the same thing like "don't be nervous" or "fluency is more important than accuracy" and I know those things. However my problem is I (very very) often take blank period for several seconds when I'm speaking English. Of course it is absolutely impossible for me to consider about fluency or accuracy. (That's why I wrote this article here, because if I wrote on another website I could get only typical answers.) Those articles also said that speaking with friends by using Skype or Hangout is also good. There're many websites for finding a partner to practice languages. I agree with the idea, but the greatest problem is how to find the person who I can talk with. Recently I find that I can only talk for a long time with people who has some common hobbies, such as competitive programming (of course!!), rhythm games or "standings" of many sports leagues (I know only 3-4 friends who have this hobby! Most people say why "standings"!?). My friends in Japan are reluctant to practice speaking with Skype because they don't have microphone, it is not allowed to make noise at night, or some of them can't understand English completely (I don't know why these guys can compete in Codeforces contests), etc...

So I want ask for your ideas. Is there any hangout community of competitive programmers? Is screencast in practicing problems a good way? (I'll definitely not to make screencast in English during contests because my performance would be 1/1000000007.) Is it possible to find a partner to practice English here? ...

I hope some readers offer a good idea. ;)

Update 2015/10/22: Thank you for your advice! I'm trying to speak intrapersonally these days (and I find that when I talk to myself, I choose the similar topics...), and I've found some friends who would like to practice English on Skype with me (but many of them aren't allowed to talk loudly at night, so we haven't practiced enough). I feel it is not easy to practice well, but I'll keep practicing as much as possible...

Full text and comments »

By EnumerativeCombinatorics, 12 years ago, In English

I think there are several coders who are very good at TopCoder, but are very poor at Codeforces, or someone else who are very good at Codeforces, but are very poor at TopCoder.

In my case, I'm good at TopCoder (I like some kind of combinatorics or enumlation in TC), so now I am a redcoder in it. But I can't solve Codeforces problems! Sometimes I can't solve even problem-A!!

I'm interested about coders who are very good at the one contest and are very poor at the other contest.

My Distance between TopCoder rating and Codeforces rating ( = abs(_TCRating_ — CFRating) ) is 513 now(TC:2273 CF:1760). If your DBTRACR is higher than mine, please show me how do you feel! And who has the most DBTRACR ?? I am wondering!!

Full text and comments »

By EnumerativeCombinatorics, 14 years ago, In English
There is SRM 500 today!!!
today! today! today!

i want to participate in codeforces, but codeforces's coding time is too long...

日本語入力テスト
한국어입력테스트

Full text and comments »