Redslayer's blog

By Redslayer, history, 4 years ago, In English

Hello everyone!!

Codeforces or other online judges enable us to find problems of different categories like "Graph Theory", "Dynamic Programming" etc.

But these sites do not provide filtering options like "Dynamic Programming of type 0/1 Knapsack" or "Dynamic Programming of type coin change" or this type of very specific topic wise classifications.

Hence I am asking the community for any source that may contain a detail list like that, or calling to help me build a list, that will feature problems, each of different types, which will help a competitive programmer to learn new problem solving techniques by solving a wide variety of problems from that list.

Reason:

There are cases where one mightn't have even heard the topic "coin-change", hence a list like that is then useful to introduce a new learner to various new topics very fast.

Because I believe if you teach someone 100 different problem solving techniques, he may use them to solve 100,000 more problems of those 100 different types.

But if someone continues to iterate over a general category, and keep solving problems one by one, chances are s/he might just solve a lot of problems from only 2-3 types under that category, and may never know the existence of a lot other types under that category.

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

| Write comment?
»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

I mean the best you can probably do as far as specificity is use a programming tutorial by topics like cp-algorithms or cp3 and do the practice problems in the section about the specific topic, or use a combination of tutorials/blogposts about specific things and do the practice problems that go with them. However, if you want your topic so specific that it is like "Dynamic Programming of type coin change", at some point you have to ask yourself if it is worthwhile because you basically know the solution before you see the problem...

  • »
    »
    4 years ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    There are cases where one mightn't have even heard the topic "coin-change", hence a list like that is then useful to introduce a new learner to various new topics very fast.

    Because I believe if you teach someone 100 different problem solving techniques, he may use them to solve 100,000 more problems of those 100 different types.

    But if someone continues to iterate over a general category, and keep solving problems one by one, chances are s/he might just solve a lot of problems from only 2-3 types under that category, and may never know the existence of a lot other types under that category.

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

      In theory sure but in actuality this isn't exactly true. I don't disagree in learning new topics just to learn new topics, and I like to pull up a website explaining a new topic and maybe do a problem on it. However, going through just a list of old contests will expose you to many topics because contests try not to repeat the same thing over and over, at least on cf, and also the things that do repeat more often are more useful so you end up practicing things in a distribution most useful to performing well in contests. Doing a bunch of problems on one very specific topic may help implement just that, but you don't learn how to recognize that it is that topic which is the most important thing to learn, and that topic may almost never appear in practice while you could be learning other things.

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

        So, if some beginner wanted to get into problem solving, and learn a lot of types of solving techniques, you'd suggest him to solve problems contest by contest? Or level by level? And what happens when he gets stuck on something, because he never heard or learned a certain topic, and has no idea that sort of solving strategy exists?

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

          I would recommend contest by contest with the problems a little above your rating, which is equivalent to using the problem set tab and filtering within a range of rating, and when I get stuck, I just look at the editorial. I think through looking at the editorial it is not like you were defeated by the problem, but rather, you may learn of a new algorithm or technique you can then lookup and learn, or you can see a new application of a technique being applied in a new way and learn a new thing you should look for to know when to apply a technique. This helps you see a variety of topics and practice figuring out what type of topic it is on your own.

»
4 years ago, # |
Rev. 2   Vote: I like it +31 Vote: I do not like it

hi, there is this cool website that a friend recommended to me some days ago. It is really great for what you are looking for, it has a very specific list of problems by topics and levels of difficulty c:

  • »
    »
    4 years ago, # ^ |
    Rev. 3   Vote: I like it +4 Vote: I do not like it

    Wow That Really a Nice thing lafifi

    Who is developing it?

    There should be edit Option So that Some can Add problem to Particular Section From Other OJ like topcoder

    PS:Site is maintained by verngutz

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it +4 Vote: I do not like it

      I haven't been able to put more time into developing it recently and it's still a work in progress. That's why I haven't been advertising it. I still haven't thought about what's the best way to accept community contributions while avoiding "pollution." And yeah, TopCoder, Project Euler, and Kattis support are in the works but as they work quite differently from the existing ones, they need to be handled differently.

  • »
    »
    4 years ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    This website seems really useful.

    Thanks for refererring to it..

  • »
    »
    4 years ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    It's really cool to learn by this way :D