How to become strong and expert in DP ?

can any body tell me some problems and some links to read ?

thanks all!

# | User | Rating |
---|---|---|

1 | tourist | 3821 |

2 | Benq | 3744 |

3 | ksun48 | 3559 |

4 | Radewoosh | 3538 |

5 | peehs_moorhsum | 3531 |

6 | Um_nik | 3488 |

7 | maroonrk | 3423 |

8 | Petr | 3379 |

9 | sunset | 3337 |

10 | ecnerwala | 3335 |

# | User | Contrib. |
---|---|---|

1 | 1-gon | 206 |

2 | Errichto | 181 |

3 | awoo | 180 |

3 | Um_nik | 180 |

5 | -is-this-fft- | 175 |

6 | maroonrk | 174 |

7 | Radewoosh | 173 |

8 | tourist | 172 |

9 | SecondThread | 170 |

10 | rng_58 | 166 |

How to become strong and expert in DP ?

can any body tell me some problems and some links to read ?

thanks all!

↑

↓

Codeforces (c) Copyright 2010-2021 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Jul/29/2021 20:55:15 (g1).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|

DP for Dynapic Programming?

No, It's for Dynamic Programming.

I suggest to you reading this article with practicing examples mentioned in it.

https://www.topcoder.com/community/data-science/data-science-tutorials/dynamic-programming-from-novice-to-advanced/

I'd suggest you reading Nicolaus Wirt — "Algorithms and Data Structures". Chapter "Dynamic Programming"

Practice makes perfect.

The core of DP is to turn the problem into a formula, to generate an new algorithm. It is likely that 100 DP problems have 101 formulas(by my friend). So actually, the only way to improve DP skill is to practice more and AC different kind of DP.

could you please say me some problems in any online judges?

(⊙ˍ⊙)I'm a Chinese ACMer, I mainly solve some problems on Chinese OJ. You can find many DP problems

through the tag in 'Problem Set'on CF. I learn my DP skill on this page problem ID 1003(largest sub-string) 1081(largest sub-rectangle) 1159(longest common sub-sequence) 1025(longest increasing sub-sequence) 2602 1059(two package problem) is some primary problem. If you are satisfied with the problem, you may solve other problem on the list, just skip ones with Chinese description. It may be hard for you to find the solution as you can't read others' solution on HduOJ. HUST is another big OJ in China, you may register an account and search the solution in 'STATUS' (OJ 'HDU' 'Accepted'), you can see the code of solution by clicking green ones below language.Now you are master, can you please tell how you improve your dp?

Any tips to improve everything including dp?.. except practice what else??

except practice what else??Get a brain transplant (if that is even possible). That's pretty much all you need. My condolences that God didn't give you a brain that is as good as those of red coders. Lmao.

On a more serious note, please get a life. Not everyone is suited for CP.

Haha..bro I have a life and pls focus on your life and moreover this question was not for you and still you answered (and that too with a fake account) so that shows what kind of life you r living right now...lol

Just with one thing. "Practice"

There are lots of problem about DP on codeforces , LightOJ or other websites.

You can start with easiest one. Then you will see you are improving day by day.

try these primary level DP problems posted by ThunderStroke i this blog they really helped me to start with DP .

solve the problems in these answers on Quora

when you are thinking about the solution try to solve it with recursion and memorization,don't submit the recursion/memorization solution,after your solution is right you can easily convert it to DP.

Don't forget to practice a lot ,because better results needs hard working :)

I'm telling you to do this because this is the strategy to start DP(because DP is an optimization for recursion),sorry for my bad English.

Is there any resource how to convert memoization to DP?

Just think about what dp results you need to construct some larger dp result. In recursion, you would say something like:

If you think about program flow, once the function dp hits its base cases, then it starts returning answers to increasingly larger problems. So you know later indices depend only on earlier ones, so you iterate from earliest to latest indices in your recursion.

Try reading this...

Read some solutions in recursion and DP (the solution is for the same problem) and you'll understand... It may be hard in the beginning...,but don't stop practicing :)

sorry for my bad English

Now you are master can u tell how u did it??

Here some questions. My teacher gave them to me. And I be better at Dp.

Number of ways

Daemon and wifi

given length and sum of digits

quasi binary

Boredom

ultra-fast mathematician

soldier and number game

Flowers

Password

Caesar's Legions

Barcode

Mr. Kitayuta, the Treasure Hunter

Pashmak and Graph

Red-Green Towers

Little Pony and Harmony Chest

Hope you enjoy :))