flushpop's blog

By flushpop, history, 3 years ago, In English

At my university (NUS), it is recommended for us to get the first part of CP4 book by Steven Halim. Has anyone tried solving problems from it or should I solve randomly from Codeforces problem set? I believe the problems in CP4 book are categorized so maybe it's better to solve from it rather than solving random problems here?

Thanks

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

| Write comment?
»
3 years ago, # |
  Vote: I like it +20 Vote: I do not like it

I don't really recommend learning competitive programming by going through a book. It's not that linear and it dedicated the same amount of pages usually to things that shouldn't be practiced the same amount. I would use competitive programming books more like a encyclopedia, where you can come to learn some specific thing you need to learn.

As for CP4, I own it but I have only taken a glance so far. I think it suffers from the same problems as I stated earlier (one thing that caught my eye is recommending templates in one of the first chapters?!), but it can be used as one of the resources for practicing, as long as you don't just right it cover to cover.

  • »
    »
    3 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Writing your own templates is good for having some time to reflect on how to organize your code in a way that it's better for later. Why do you think it's such a bad thing?

    • »
      »
      »
      3 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Because I don't think that beginners should even know many algorithms, and even if they do, it's more useful in practice to code it each time than code it once.

      • »
        »
        »
        »
        3 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        I see. That makes sense, when you mention it's in a beginner's point of view.

        • »
          »
          »
          »
          »
          3 years ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          Yeah, for advanced coders who mostly participate in online contests it's really useful. Though for Olympiad contestants I would still be careful of using templates so you don't forget how you implement some advanced algorithm.