Feedback regarding March long challenge

The contest was good. I just loved solving the questions MTRWY and STRSUB and though I could not solve QCHEF even after endless attempts, I learnt a lot on the way!
However, I have a suggestion: there should be less of Mathematics & Number theory and more of Programming. SEAPROAR, SIGNWAVE and RNG all were based on Mathematics, though SIGNWAVE was one very innovative problem. Instead, I would like to see more problems on a variety of topics like Strings, Computational Geometry, DP, Data Structures like BIT, Segment Tree etc.

Tests for TREECNT2 were weak.

questions were good and more tough problem should be added in coming contests

1 Like

I didn’t get to try the other questions because I got stuck at Signwave. I found only a 30 points solution based on observations about how the sin function behaved.

I don’t agree that upper bound of difficulty should be decreased. Problemset this time wasn’t hard, for people used to ACM ICPC trainings it takes no more than an hour to get lineups of solutions (and then it turns out just into finding time for coding), and giving easier problemset will switch all leaderboad competing just to challenge problem. This idea is good only if you are sure that you have a good challenge problem :slight_smile: This time it seems to be good, but often they are really awful - like when question was about factorization:) When that problem isn’t very good, and all top50 solved other 9 problems, then board isn’t informative.

And about problems from this contest - it is strange idea to give problems like SEAPROAR, which requires only 10 minutes of using Google to solve it) about last 2 tasks - TREECNT2 is pretty standard ACM task; and RNG is also generally well-known, it also takes not a long time to google details of solution (even if writing the solution itself isn’t that fast&easy), this way of creating problem (take standard task and increase constants) does not look good for long contests where one can simply google a solution for original standard task (and ways to make it run fast).

5 Likes

Difficulty level of challenge can vary like this month’s challenge and previous month’s challenge. Both has its own benefit for different kinds of contestants.

Meanwhile my discussion on three easy problems in march challenge: https://shadekcse.wordpress.com/2015/03/16/codechef-march15-challenge/

It was probably the best long challenge in 2-3 months. :slight_smile:

The questions were great. I especially liked MTRWY and STRSUB. Didn’t like SEAPROAR since the solution was just a Google search away.

Also, the challenge problem should be easy to attempt, but hard to optimize. This question was hard (for me, at least) to even attempt.

devu nd class and sereja and ramdom array can be run just only by luck this type of question which can be run by luck must not be there ,

The March Challenge was undoubtedly one of the best Long Challenges I have participated in.

The problems covered a vast spectrum of algorithms from various topics and was very well balanced.

Problem OneChef and Notebooks - A typical Ad-Hoc Cakewalk problem of the March Challenge. As expected , Most users got 100 points in this.

Problem Two → SignWave -A trigonometry problem that involved making observations for various cases and designing the code according to the observations made. I did not personally like this problem as it was too math-oriented.

Problem Three → Devu and his Class - A well formulated problem with a greedy approach that wasn’t very intuitive but was easily derivable. The “type” factor was a nice addition to the problem and made it interesting. Still , difficulty was not very hard so many users got AC for 100 points. Only downfall of this problem was its striking similarity to the February Lunchtime Problem “The Warehouse” . Both involved counting “inversions” in an array . I understand that there were better approaches to this problem but a O(N log N) inversion count algorithm was also acceptable .

Problem Four → Count Substrings - Undoubtedly one of the best problems in the March Challenge

What surprised me was the large number of 100 point ACs for this relatively difficult problem .

The solution involved some amount of preprocessing and Binary Search to pass for 100 points.
I spent nearly 4 days on this problem before I finally got it accepted for 100 points.
The problem was really well formulated and had a simple yet tough to implement algorithm.

Problem Five —> Sereja and Random Array – I thought this was a “WikiPedia” problem . Anyone who knew about LCG and the number of distinct sequences could write up a clever brute force solution with some optimizations and get it passed easily. I wasn’t such a huge fan of this question.

Problem Six —> Matrix – Another Brilliant Problem in the March Challenge. Solution was very clever and involved offline processing accompanied by fast union-find algorithm.
The only Downfall – Similarity to the problem Anansi Cobwebs on the TIMUS Server. I had solved this problem a week before the March Challenge and the similarity in algorithm was striking. The addition of “Largest” Connected Components wasn’t a huge issue either.

Problem Seven —> Chef and Problems— A really nice problem involving Mo’s Algorithm . The simplicity of the problem statement attracted attention and the well thought time constraints made it really difficult to get a 100 in the problem . It was also one of the better questions of the Challenge .

Problem Eight → Counting On A Tree — Interesting Problem having a simple 27 point Brute force solution . 100 points involved a lot of Math and Mobius Function which I didn’t know much about.

I did not go through the Last Two Problems of the Challenge and finished on 647 points.

I would like to suggest that the problems should not involve so much of Math as in the SignWave problem.Also, problems like Sereja and Random Array aren’t appropriate for Long Challenges as they don’t require any coding ability or knowledge of algorithms. The code for the generators were provided and some info about LCGs were sufficient to get 100 points.

Overall, The contest standard was very high and the questions were also of high quality . It was a fun 10 days for me!

1 Like

The march challenge reminded of ICPC amritapuri round. All the questions were hard. It is a good thing for advanced programmers or the guys supposed to participate in World Finals, but for regular newbies and intermediate programmers, it was frustrating not getting anything done. Please make the long challenge as learning friendly as possible. Give new twisted algorithmic problems instead of hard math problems. Keep these questions for cook offs where speed matters, not learning new things.

1 Like

I think the difficulty of the problems should be increased a little. The set of 10 problems should be such that they cover a range of different algorithms and data-structures. I see that the first few problems ( 4-5 problems) of Codechef Long are solely implementation/math/greedy.

Also, problems should not be very heavy on implementation, as sometimes is the case. Rather, problem should test the analytical skills and knowledge of algorithms of the contestant, but should not be hard to implement after coming up with a solution.

Another point i would like to make is that subtasks should be removed from the easier problems (easy to easy-medium level problems), since the contestant gains nothing on solving these subtasks. Rather, some users get distracted from the full 100pt solution, and just code to get the “easy” points from the smaller subtask and give up on the question, while they could have easily solved the full problem, had they given some more thought to it. This is the sole purpose of Long challenge, improving by pushing yourself beyond your current limits.

Overall, I found March Long Challenge to be good one when compared to previous few long challenges :slight_smile:

I like Sine wave question…Because It has real fun for beginner…

first I made bruteforce solution try to make all possible solution and just merge all solution and find frequency of all solution and which frequency asked I have answered by simple iterative search…but pass only 1 subtask…

after doing some graph ploting on paper i go some idea than I generalize my solution with help of some trivial input…

after that I got know what exactly is going on here actually solution merging to each no need to do all previous stuff…then I went little deep and then I found some mathematical Relation which very easy…first time I had done question which looks to me very tough question in live contest…Feeling great after getting 100pts…

Make your myFind() function inline and submit.
If it doesn’t work, make the function iterative.
Try it once.

thanx! rsaha…
My code got 100 points after making myFind() function inline

it wasn’t waste of time. You have to find that pattern and formula. It was fun.

4 Likes

@fool_for_cs: Can you give me a use case where this is happening ?

This has been fixed now. We were not sorting subtask submissions correctly. Execution time of submission was not considered while sorting.

Hi Argos, we are really sorry regarding the same. We will add more strong test cases in the practice session.

This will be done in next contest. Thanks for telling :slight_smile: