Hi Dhruva,

That was a great post. Being a good basketball player does not
automatically make you a good football player though both need
athleticism. In the same way being a good developer does not
automatically make one a great GCJ contestant though both need problem
solving skills but it surely helps.

>From reading posts by long term players, it seems practicing at
Topcoder is important for improving one's skills. Practise is
important but good knowledge of algorithms and some other stuffs(like
talent etc) are importand to be a champ.

Thanks everybody for sharing. I believe these posts have shown path to
many beginners of programming contests including me.
On May 10, 4:33 pm, Dhruva Sagar <[email protected]> wrote:
> Hi Alfonso,
>
> Nice to meet you, must say that was a rather long reply :).
> I agree that experience counts, I have quite a decent amount of that too,
> almost 5 years now.
> But I failed to qualify even though I correctly solved 2 problems because of
> issues like wrong case in the output and little debugging!
>
> I solved Magicka quite comfortably but I didn't test it enough, tried for
> the small input and got it correct!
> I proceeded for the long input and since that result comes only after the
> competition, only after the competition did I realize I had a very stupid
> mistake in my input parsing logic because of which the entire input
> characteristics were getting messed up and hence the algorithm didn't even
> matter :/.
>
> I also solved the Candy Splitting problem very quickly, it was a no-brainer
> for me since I quickly saw the XOR pattern there. I solved it probably in
> less than 15 minutes and tried for the small input only to get it wrong, I
> read, re-read and re-re-read the problem several times, revisiting the
> algorithm (if we can call it that), tried a few variations here and there. I
> tried a lot of things but after 3 attempts my mind was fucked enough to
> doubt my understanding of the problem and I quit.
>
> When the contest was over I quickly read the contest analysis, only to cause
> more frustration and then I downloaded someone's solution and ran it, then
> ran mine and did a diff of the two outputs. And there was my sad story right
> there in the diff. Instead of output 'NO' in the case the XOR is non-zero
> and hence the candy's can't be split without making Patrick cry, I was
> outputting 'No'. I doubt if i've ever felt dumber, but alas I can't do
> anything now, none of that experience really counted so much.
>
> Practice makes a huge difference, it helps you get used to such situations,
> and I am sure had I actually ever practiced, I would have at least thought
> of checking for output case...
>
> Well I still enjoyed though, i'll be back next year :)
>
> On Tue, May 10, 2011 at 16:19, Alfonso J. Ramos <[email protected]> wrote:
>
>
>
>
>
>
>
>
>
> > Hi, I'm not a 40 minutes guy, I would like to be. But I'm in my second
> > Google Code Jam, and I did no practice in contests, and still went
> > from 4000 and something to 1600 and something in rank in the
> > qualification round. Passed from being 13th from my country to be 3th.
>
> > How comes?
>
> > Well, I have been being a developer.
>
> > I have been a developer too much that I did not have time to practice...
> > did I?
>
> > If they say years of experience don't help, it's a lie. Experiences
> > helps, practice for the sake of practice is a mimic of experience...
> > but, if you are just writing the same information system once and
> > again, and all that takes complexity in mapping your objects to the
> > data base (it is all getters and setters and a few loops in the
> > forms)... yes, TopCoder is much better. But if what you are doing for
> > job or pet project (every developer should have a pet project) makes
> > you write parsers, game loops, your own framework, image processing,
> > hardware ports IO, or whatever (that's not database centric), then you
> > are already getting good practice.
>
> > What you need is to learn different things, and of course practice
> > them, because you need to be good at it... it's just that my practice
> > comes from my work. I learned PHP and some Python in the last year
> > because I had to, learned how to do closures and to use T4 in visual
> > studio because they helped me get work done.
>
> > I remember when I learned to write Java for cell phones, It was in
> > fact my first time with Java. And when I did it then object oriented
> > programming was no longer a way to isolate the state of modules into
> > instances, but a way of thinking. Something fell in place in my mind
> > that improved my skills in other languages. The same happened when I
> > learned PHP, I was all my life using static typed languages, at first
> > I just kept trace of the types to avoid mistakes, but at some moment I
> > noticed that the the dynamic typed aspect of PHP was saving me time,
> > and then somewhere distant neuron connected together in my brain, I
> > had a new skill to master and when I became good at it, it started
> > helping me with .NET and desktop apps too, I know, .NET is static and
> > blah, blah. But it's a way of thinking. At the end it all is ASM at
> > the CPU. If you want to be able to solve more problems you should have
> > more things to try, knowing what to try is the next step.
>
> > The past year, I used to set everything as objects, but knowing
> > different styles, languages and paradigms opens you to different kinds
> > of solutions. When doing something becomes natural for you, knowing
> > how to use it, even when to use it is "intuition"**, but intuition
> > that comes from experience, you just don't know how you know, you just
> > know. And that experience is from... yep, practice.
>
> > ** Replace that with heuristic if you feel better with that.
>
> > So, yes there is analysis. But more that analysis as a rational
> > process, to be able to visualize the situation and do a judged guess
> > on what may be the result of the things you try is what matters at the
> > end, you may do a methodical analysis at one edge and just get it and
> > the other, we are all somewhere in between, moving to the "just get
> > it" side takes experience and practice.
>
> > I wouldn't say that it is as math or sports, it more like speaking a
> > foreign language. I'm from Colombia, my first language is Spanish.
> > When speaking English I still do mistakes, that's not what's
> > important, what's important is that I can think in English, I no
> > longer need to think in Spanish and translate that to English in order
> > to express it. It just comes natural, and for me that is an important
> > foundation to handle English, I need to practice more hearing
> > different accents and learn more vocabulary [today I learned
> > "methodical"], but that's it.
>
> > I also need to learn to write shorter messages.
>
> > 2011/5/8 vivek dhiman <[email protected]>:
> > > How come some guys are so fast ?
>
> > > within 40 minutes. Am I missing something ?
>
> > > Regards
> > > Vivek Dhiman
>
> > > --
> > > You received this message because you are subscribed to the Google Groups
> > > "google-codejam" group.
> > > To post to this group, send email to [email protected].
> > > To unsubscribe from this group, send email to
> > > [email protected].
> > > For more options, visit this group at
> > >http://groups.google.com/group/google-code?hl=en.
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "google-codejam" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected].
> > For more options, visit this group at
> >http://groups.google.com/group/google-code?hl=en.
>
> --
> Thanks & Regards,
> Dhruva Sagar <http://dhruvasagar.net>
> ----------------------------
> Technical Developer - Mentor,
> Artha42 Innovations Pvt. Ltd. <http://www.artha42.com/>
>
> Become an expert in Rails. Join our 3 day Rails workshop and learn Ruby,
> Rails 3, Cucumber and Git.http://www.railspundit.com

-- 
You received this message because you are subscribed to the Google Groups 
"google-codejam" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-code?hl=en.

Reply via email to