Блог пользователя levitational

Автор levitational, история, 32 часа назад, По-английски

List of DP Problems Having Short Statements (800 to 2200)

Long, wordy statements can be exhausting, especially for beginners. So here is a list of dynamic programming problems with short and easy-to-read statements, sorted by rating.

Notes: - Every problem here has a short statement (under about 1000 characters, input/output and samples not counted). - Within each rating, problems are listed in order of problem ID. - Ratings are as of April 2026 and may shift a little over time. - Short statement does not always mean an easy idea. Some of these are tricky!

800

  1. 702A — Maximum Increase (800)
  2. 1472B — Fair Division (800)

900

  1. 580A — Kefa and First Steps (900)
  2. 1462C — Unique Number (900)
  3. 1475B — New Year's Number (900)

1000

  1. 1182A — Filling Shapes (1000)

1100

  1. 313B — Ilya and Queries (1100)
  2. 363B — Fence (1100)
  3. 1899C — Yarik and Array (1100)

1300

  1. 58B — Coins (1300)
  2. 189A — Cut Ribbon (1300)
  3. 665C — Simple Strings (1300)
  4. 2033D — Kousuke's Assignment (1300)

1400

  1. 180C — Letter (1400)
  2. 414B — Mashmokh and Another Problem (1400)
  3. 489C — Given Length and Sum of Digits... (1400)
  4. 538B — Quasi Binary (1400)
  5. 797B — Odd sum (1400)
  6. 1215B — The Number of Products (1400)
  7. 1526B — I Hate 1111 (1400)

1500

  1. 22B — Bargaining Table (1500)
  2. 166E — Tetrahedron (1500)
  3. 455A — Boredom (1500)
  4. 550C — Divisibility by Eight (1500)
  5. 868C — Qualification Rounds (1500)
  6. 982C — Cut 'em all! (1500)
  7. 991D — Bishwock (1500)
  8. 1105C — Ayoub and Lost Array (1500)
  9. 1272D — Remove One Element (1500)

1600

  1. 219C — Color Stripe (1600)
  2. 597B — Restaurant (1600)
  3. 605A — Sorting Railway Cars (1600)
  4. 660C — Hard Process (1600)
  5. 888D — Almost Identity Permutations (1600)
  6. 1288C — Two Arrays (1600)
  7. 1295C — Obtain The String (1600)
  8. 1373D — Maximum Sum on Even Positions (1600)
  9. 1395C — Boboniu and Bit Operations (1600)
  10. 1398C — Good Subarrays (1600)
  11. 1513C — Add One (1600)
  12. 1519D — Maximum Sum of Products (1600)
  13. 1633D — Make Them Equal (1600)
  14. 1753B — Factorial Divisibility (1600)
  15. 1787C — Remove the Bracket (1600)

1700

  1. 349B — Color the Fence (1700)
  2. 466C — Number of Ways (1700)
  3. 546D — Soldier and Number Game (1700)
  4. 915C — Permute Digits (1700)
  5. 919D — Substring (1700)
  6. 977F — Consecutive Subsequence (1700)
  7. 1061C — Multiplicity (1700)
  8. 1497E1 — Square-free division (easy version) (1700)
  9. 1681D — Required Length (1700)
  10. 1695C — Zero Path (1700)
  11. 1829H — Don't Blame Me (1700)
  12. 1948D — Tandem Repeats? (1700)

1800

  1. 33B — String Problem (1800)
  2. 49D — Game (1800)
  3. 161D — Distance in Tree (1800)

1900

  1. 1114D — Flood Fill (1900)
  2. 1155D — Beautiful Array (1900)

2200

  1. 837D — Round Subset (2200)

If you know other DP problems with short statements, share them in the comments! Happy coding!

  • Проголосовать: нравится
  • +28
  • Проголосовать: не нравится