One Point Solution

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Tuesday, 20 March 2012

Writing SRM 538

Posted on 07:59 by Unknown
I am writing this before the match starts. For obvious reasons, I won't publish it until the end of the challenge phase. But please keep in mind I am writing this with no info on what will happen during the match.

So, last Friday after pushing for months to receive attention for my problems, I was asked if I was going to have time to problem set SRM 538. I accepted immediately, then noticed that there were four days left for it. I was focused on SRM 537 which was the next day.

I was nervous. Of course I have time to develop the problems and do all in 4 days. But the problem is that in four days there may not be enough time to have complete feedback cycles with testers.

At the end the development of the match got quite the obstacles. But we were able to come up with something that looks like a match. Hopefully it will not be tremendously hated by everyone, but I expect it to be. I am rather sure that nobody will solve either hard problem. Division 2 will be much harder than usual and division 1 much easier than usual. And division 2 prefer easy sets while division 1 prefer hard sets...

div2 300
This problem seems to me harder than usual. Nothing much to say about it. Other than I think it is cute.

div2 500, div1 250.
For a long time I had a dream of a problem that seems to have an easy solution that is almost a one liner but (unlike what became frequent) is actually wrong and you need to do a more complicated thing. But I couldn't. The closest thing I could do is this problem, which has two very easy solutions, but one is wrong and the other isn't.

I tried very, very hard to make people likely to get fooled into thinking the easy solution is correct. I really hope people fall for it. The whole objective of the problem is to punish anyone who enters an easy solution, passes and then does not bother asking himself why it works at all. The correct solution is itself very easy though, but hopefully people that rush into things are more likely to think of the wrong solution.


At first , the problem was about "Mr. K" claiming to solve the traveling salesman version of this typical Cartesian plane problem. And so the whole parity thing was about that. But misof thought adding a fake problem first was too confused. I sort of agree, so I preferred to remove the funnier story in exchange of an easier to follow problem.



div1 450
This problem is easy, but also cute, like the div2 250. Nothing much to say other than I do not really have a formal proof, but rng_58 claims to do. So, it is all good and dandy.

div2 1050 and div2 1050
I thought of this problem for months, yet I didn't really get to understand them fully until ... yesterday. These problems are evil and I doubt anyone will solve them during the match.

If I had a little more time, I would have come up with a different div1 hard, and swapped div2 hard with div1 medium.

We found so many mistakes in our solutions during development that I know for sure these problems are evil and will open the gates of hell. The Mayan 2012 apocalypse may be triggered by them.

But I did try to make the example cases as strong as possible, specially in the div2 hard.
---
End of predictions, now some comments about events during the match:

During the match
9 minutes after the start of the match. I figure out that the div1 hard statement does not explain what the B argument was. This was caused by a last minute language update of the statement that somehow missed it. Sorry.

- Many people are surprising me with a different (wrong) solution for div1 250 / div2 500 that I didn't expect.

- It is surprising to me that the tests for div1 450 were so weak some solutions that do not even do the dp and just sum the angles together are passing examples.

- Someone asked us what value of PI to use. Then I noticed div1 450 didn't have the usual note about relative and absolute error. Damn.

- 55 minutes after the start of the match, Egor makes a submission for 1050!.

- Sometime later, bmerry does the same thing!

- Later: What a humongous amount of div2 hard submissions! I am impressed.

- In the challenge phase, dolph was genre-savvy enough to blind challenge Egor right at the beginning of the phase. That was impressive.

- Many people actually got the typical issue with %2 and negative numbers, but that's very strange because I made sure to include a example case that detected that bug. Apparently, it was possible to make the bug with some slight changes from what I tested and pass the example cases. That's too bad. I'd hate failing for this bug.
Email ThisBlogThis!Share to XShare to Facebook
Posted in srm, topcoder | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • TopCoder SRM 557 - finally
    SRM 557 Explanation for division 1 Easy and match recap. Explanations for div2 easy and div2 medium. It feels like it has been ages since t...
  • SRM 589 Editorial
    I have finished writing the editorial for TopCoder SRM 589: http://apps.topcoder.com/wiki/display/tc/SRM+589 . As you most likely noticed. L...
  • SRM 590 recap and editorial
    Another week another Topcoder match. Not a great day. I had a bad flu and still do. Div1 500: The one with Xor Given a list of cards with nu...
  • SRM 546: relief
    I figured I should post something about this SRM. I've been very busy these weeks because the semester is ending and I tried to win a t-...
  • SRM 526: The killing wait for results
    While I wait for results, here is my perspective on this algorithm contest. It began with issues, it had to be postponed 15 minutes. TC has ...
  • SRM 554 div1 hard: TheBrickTowerHardDivOne
    Link to problem statement We got infinitely many bricks of dimensions 1x1x1 and C different colors. Count the number of towers of size 2x2...
  • SRM 533: Div1 500 MagicBoard explanation
    Finally solved it. It is a nice problem that is worth explaining in a post. You have a grid/board of at most 50x50 cells. Some cells contain...
  • Member SRM 505: Part 1
    So, let me explain a couple of problems from a Topcoder Member SRM that I wrote and never got an editorial. BTW, it was the last member SRM....
  • ListedLinks 2012-02-10
    Saturday Morning Breakfast Cereal comics: Grace Hopper's ghost That Oracle engineer blog post Oracle would really not like anyone to se...
  • Codeforces "Good bye 2013" round
    So it was a special round for coders of both divisions, problems ranged from the super easy problem A to the super difficult problems E,F,G....

Categories

  • acm
  • algorithm
  • answers
  • arenaplugin
  • badday
  • behindthescenes
  • bugs
  • c++
  • censorship
  • codechef
  • codeforces
  • contests
  • crocchamp
  • editorial
  • editorial.srm
  • embarrassing
  • explanation
  • gcj2013
  • gmp
  • goodday
  • google
  • googlecodejam
  • greed
  • groklaw
  • health
  • html
  • httpseverywhere
  • implementation
  • ipsc
  • ispc
  • java
  • kawigiedit
  • kindagoodday
  • lamebook
  • languages
  • lego
  • listedlinks
  • marathon
  • nasa
  • offtopic
  • ouch
  • postmortem
  • postportem
  • practical
  • probably_not_a_good_tip
  • problemsetting
  • programming
  • python
  • quora
  • rant
  • recap
  • slightlygoodday
  • snippet
  • srm
  • stl
  • strategy
  • swerc
  • tco
  • tco12
  • tco13
  • tco2012
  • tco2013
  • ternarysearch
  • topcoder
  • tricks
  • ubuntu
  • uva
  • vjass
  • vkcup
  • wc3
  • zinc

Blog Archive

  • ►  2014 (1)
    • ►  January (1)
  • ►  2013 (141)
    • ►  December (14)
    • ►  November (8)
    • ►  October (13)
    • ►  September (11)
    • ►  August (14)
    • ►  July (15)
    • ►  June (13)
    • ►  May (13)
    • ►  April (12)
    • ►  March (11)
    • ►  February (11)
    • ►  January (6)
  • ▼  2012 (94)
    • ►  December (5)
    • ►  October (6)
    • ►  September (8)
    • ►  August (6)
    • ►  July (3)
    • ►  June (5)
    • ►  May (8)
    • ►  April (10)
    • ▼  March (20)
      • Topcoder Open 2012 round 1A
      • Codeforces round #114. 167C: Wizards and numbers
      • Official TCO 2012 blogger
      • Codeforces round #114 (div1)
      • 5 reasons editorial votes in Topcoder are useless
      • Codeforces VK Cup round 2: (ouch)
      • Codeforces round #113 div2 (unofficial)
      • Writing SRM 538
      • SRM 537: oh my
      • Codeforces round #112
      • Language features: Rants and wishes
      • Google code jam registration - Just note something...
      • Codeforces: VK Cup round 1: Problem C: Abracadabra
      • Codeforces: VK Cup round 1 (update 1)
      • SRM 536: heh
      • SRM 535 editorial: The making of
      • Codeforces round #111 (div2 only)
      • SRM 535 : lame
      • A note about SRM 537 and 540 money prizes
      • The March of Destruction begins!
    • ►  February (16)
    • ►  January (7)
  • ►  2011 (51)
    • ►  December (7)
    • ►  November (12)
    • ►  October (5)
    • ►  September (1)
    • ►  August (3)
    • ►  July (4)
    • ►  June (3)
    • ►  May (7)
    • ►  April (3)
    • ►  March (2)
    • ►  February (1)
    • ►  January (3)
  • ►  2010 (9)
    • ►  December (4)
    • ►  October (1)
    • ►  June (1)
    • ►  May (1)
    • ►  January (2)
  • ►  2009 (1)
    • ►  December (1)
Powered by Blogger.

About Me

Unknown
View my complete profile