freebie's blog

By freebie, history, 2 months ago, In English

This is my first ever personal blog I want to share on Codeforces. Well, DP (Dynamic Programming) was never kind enough to me to understand what was going on. I have always felt blank and confused as to how I approach the question, how to declare the DP and on what basis, what should be the relation between the current transition and the next transition, and because of this, I have always felt myself to be stupid, often crying inside, calling myself again and again. Well, some would say that "solve XYZ platform easy DP questions" but that too seems to be like, "Okay? What do we do know?? kind of state." I hate DP, seriously! I am currently a newbie but have solved more than 250 questions on codeforces and around 85 on Leetcode. And the worst part is, I am always not able to tell myself to work on my weak points. I want to share this to remove this burden of guilt off my shoulders. Writing and accepting this makes me feel lighter. So whoever is reading this article (overachiever, super smart, or a struggling guy), thank you if you are not judging me.
But my problem is more of a psychological problem than a serious one, so it feels okay to share it here. But I will try harder to learn DP, look at a couple of youtube videos and try to learn and understand the concepts and how to apply them.

Signing off!!

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

»
2 months ago, # |
  Vote: I like it 0 Vote: I do not like it

No, it's pleasing ,I love it, it's very useful

»
2 months ago, # |
  Vote: I like it +13 Vote: I do not like it

If you want to improve you DP skill, just do more DP problems and make summaries. You need accumulation to master DP. Anyway ,I do the things above to improve my DP skill

»
2 months ago, # |
  Vote: I like it +5 Vote: I do not like it

personally I suggest you to learn recursive dp. Cuz it is more intuitive and easy to think about base cases and transitions. If you want you can tranform it into a tabulation one easily. I'm not promoting anyone, but I suggest you to watch this

  • »
    »
    2 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Oh Striver! I have followed his DSA sheet. Didn't know his DP playlist was also famous

  • »
    »
    2 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    bro suggest me something for binary search and two pointers

    • »
      »
      »
      2 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      You can solve more problems on codeforces. I think it is adequate. but if you want more or if you learn more you can watch some youtube vids. there are many good videos. I can remember that striver also has binary search playlist.

»
2 months ago, # |
  Vote: I like it +14 Vote: I do not like it

Atcoder dp contest is a good source to get grasp on cp dynamic programming problems

  • »
    »
    2 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I am not very active on Atcoder, and I have recently started exploring codeforces, but I will try to explore that

    • »
      »
      »
      2 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Neither am I. But that one particular dp contest is best resource to learn dp for cp

»
2 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Stop the yap, just cry about it

  • »
    »
    2 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Thanks for the motivational demotivation :\

    • »
      »
      »
      2 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Ok lets get serious, the reason is bcz u think u can't solve them, when u face one, u be like no this is dp i'm bad at dp i can't solve this, this really destroys the thinking process and causes u to be unable to solve the problem -> makes this feeling stronger, I suggest stop thinking and believing this, start cses dp problems, try every approach until you AC, after the u'll be feeling more comfortable, and if u be able to make this feeling vanish with more problem solving, this hate and frustration goes away, I've had this issue, I hate dp, from the bottom of my heart I hate it, it's bullshit, but I'm good at it, I can solve ~2500 Dp problems, I'm just good at it even tho I hate it, why I'm good at it? cause I understood that bcz I hate them doesn't mean I can't solve them, So I started solving them, That's just it

»
2 months ago, # |
  Vote: I like it 0 Vote: I do not like it

I just read it as "Dynamic Programming is interesting!!"

»
2 months ago, # |
  Vote: I like it 0 Vote: I do not like it
»
2 months ago, # |
  Vote: I like it +1 Vote: I do not like it

Yeah, i can totally relate with you. At start DP is really frustrating, try practicing it more..the most popular practice sources for it are Atcoder Educational DP contest and the CSES DP problems .Try practicing these and for now, just focus on recursive DP, as it relies more on intuition. Iterative DP is a bit more advanced and may not come as naturally at first.

»
2 months ago, # |
  Vote: I like it +4 Vote: I do not like it

You should try CSES Dp section, it's amazing :)

  • »
    »
    2 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Yeah sure! I will do that, many people are recommending that!!

»
2 months ago, # |
  Vote: I like it +1 Vote: I do not like it

learn recursive dp first iterative dp is very confusing for me still now , I can do good Dp problems with recursive dp but struggle with easy ones using iterative

»
2 months ago, # |
  Vote: I like it +1 Vote: I do not like it

Just do 80% of Atcoder DP contest problems (and use editorial if you can't solve them) and after that you can have a basic idea about what kind of (sub)problem are likely solvable with dp and what can likely be the transition and state in each of them.