{"id":20582297,"url":"https://github.com/hieplpvip/cses-solutions","last_synced_at":"2025-04-14T20:15:30.004Z","repository":{"id":89965623,"uuid":"337688415","full_name":"hieplpvip/cses-solutions","owner":"hieplpvip","description":"Solutions to CSES Problem Set","archived":false,"fork":false,"pushed_at":"2021-09-23T14:04:53.000Z","size":263,"stargazers_count":12,"open_issues_count":1,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-14T20:15:24.597Z","etag":null,"topics":["cses","cses-solutions"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hieplpvip.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-10T10:25:39.000Z","updated_at":"2025-03-18T00:52:30.000Z","dependencies_parsed_at":"2023-05-30T17:15:09.521Z","dependency_job_id":null,"html_url":"https://github.com/hieplpvip/cses-solutions","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hieplpvip%2Fcses-solutions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hieplpvip%2Fcses-solutions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hieplpvip%2Fcses-solutions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hieplpvip%2Fcses-solutions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hieplpvip","download_url":"https://codeload.github.com/hieplpvip/cses-solutions/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248952355,"owners_count":21188426,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cses","cses-solutions"],"created_at":"2024-11-16T06:34:29.088Z","updated_at":"2025-04-14T20:15:29.997Z","avatar_url":"https://github.com/hieplpvip.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CSES Solutions\n\nMy own solutions to the [CSES Problem Set](https://cses.fi/problemset/)\n\nMy account on CSES: https://cses.fi/user/15196\n\nFeel free to ask (by creating issues) if you don't understand my solutions.\n\n### Introductory Problems\n\n| Name                                                           | Solution                   |\n| -------------------------------------------------------------- | -------------------------- |\n| [Weird Algorithm](https://cses.fi/problemset/task/1068/)       | [1068.cpp](./cpp/1068.cpp) |\n| [Missing Number](https://cses.fi/problemset/task/1083/)        | [1083.cpp](./cpp/1083.cpp) |\n| [Repetitions](https://cses.fi/problemset/task/1069/)           | [1069.cpp](./cpp/1069.cpp) |\n| [Increasing Array](https://cses.fi/problemset/task/1094/)      | [1094.cpp](./cpp/1094.cpp) |\n| [Permutations](https://cses.fi/problemset/task/1070/)          | [1070.cpp](./cpp/1070.cpp) |\n| [Number Spiral](https://cses.fi/problemset/task/1071/)         | [1071.cpp](./cpp/1071.cpp) |\n| [Two Knights](https://cses.fi/problemset/task/1072/)           | [1072.cpp](./cpp/1072.cpp) |\n| [Two Sets](https://cses.fi/problemset/task/1092/)              | [1092.cpp](./cpp/1092.cpp) |\n| [Bit Strings](https://cses.fi/problemset/task/1617/)           | [1617.cpp](./cpp/1617.cpp) |\n| [Trailing Zeros](https://cses.fi/problemset/task/1618/)        | [1618.cpp](./cpp/1618.cpp) |\n| [Coin Piles](https://cses.fi/problemset/task/1754/)            | [1754.cpp](./cpp/1754.cpp) |\n| [Palindrome Reorder](https://cses.fi/problemset/task/1755/)    | [1755.cpp](./cpp/1755.cpp) |\n| [Gray Code](https://cses.fi/problemset/task/2205/)             | [2205.cpp](./cpp/2205.cpp) |\n| [Tower of Hanoi](https://cses.fi/problemset/task/2165/)        | [2165.cpp](./cpp/2165.cpp) |\n| [Creating Strings](https://cses.fi/problemset/task/1622/)      | [1622.cpp](./cpp/1622.cpp) |\n| [Apple Division](https://cses.fi/problemset/task/1623/)        | [1623.cpp](./cpp/1623.cpp) |\n| [Chessboard and Queens](https://cses.fi/problemset/task/1624/) | [1624.cpp](./cpp/1624.cpp) |\n| [Digit Queries](https://cses.fi/problemset/task/2431/)         | [2431.cpp](./cpp/2431.cpp) |\n| [Grid Paths](https://cses.fi/problemset/task/1625/)            | [1625.cpp](./cpp/1625.cpp) |\n\n### Sorting and Searching\n\n| Name                                                              | Solution                   |\n| ----------------------------------------------------------------- | -------------------------- |\n| [Distinct Numbers](https://cses.fi/problemset/task/1621/)         | [1621.cpp](./cpp/1621.cpp) |\n| [Apartments](https://cses.fi/problemset/task/1084/)               | [1084.cpp](./cpp/1084.cpp) |\n| [Ferris Wheel](https://cses.fi/problemset/task/1090/)             | [1090.cpp](./cpp/1090.cpp) |\n| [Concert Tickets](https://cses.fi/problemset/task/1091/)          | [1091.cpp](./cpp/1091.cpp) |\n| [Restaurant Customers](https://cses.fi/problemset/task/1619/)     | [1619.cpp](./cpp/1619.cpp) |\n| [Movie Festival](https://cses.fi/problemset/task/1629/)           | [1629.cpp](./cpp/1629.cpp) |\n| [Sum of Two Values](https://cses.fi/problemset/task/1640/)        | [1640.cpp](./cpp/1640.cpp) |\n| [Maximum Subarray Sum](https://cses.fi/problemset/task/1643/)     | [1643.cpp](./cpp/1643.cpp) |\n| [Stick Lengths](https://cses.fi/problemset/task/1074/)            | [1074.cpp](./cpp/1074.cpp) |\n| [Missing Coin Sum](https://cses.fi/problemset/task/2183/)         | [2183.cpp](./cpp/2183.cpp) |\n| [Collecting Numbers](https://cses.fi/problemset/task/2216/)       | [2216.cpp](./cpp/2216.cpp) |\n| [Collecting Numbers II](https://cses.fi/problemset/task/2217/)    | [2217.cpp](./cpp/2217.cpp) |\n| [Playlist](https://cses.fi/problemset/task/1141/)                 | [1141.cpp](./cpp/1141.cpp) |\n| [Towers](https://cses.fi/problemset/task/1073/)                   | [1073.cpp](./cpp/1073.cpp) |\n| [Traffic Lights](https://cses.fi/problemset/task/1163/)           | [1163.cpp](./cpp/1163.cpp) |\n| [Josephus Problem I](https://cses.fi/problemset/task/2162/)       | [2162.cpp](./cpp/2162.cpp) |\n| [Josephus Problem II](https://cses.fi/problemset/task/2163/)      | [2163.cpp](./cpp/2163.cpp) |\n| [Nested Ranges Check](https://cses.fi/problemset/task/2168/)      | [2168.cpp](./cpp/2168.cpp) |\n| [Nested Ranges Count](https://cses.fi/problemset/task/2169/)      | [2169.cpp](./cpp/2169.cpp) |\n| [Room Allocation](https://cses.fi/problemset/task/1164/)          | [1164.cpp](./cpp/1164.cpp) |\n| [Factory Machines](https://cses.fi/problemset/task/1620/)         | [1620.cpp](./cpp/1620.cpp) |\n| [Tasks and Deadlines](https://cses.fi/problemset/task/1630/)      | [1630.cpp](./cpp/1630.cpp) |\n| [Reading Books](https://cses.fi/problemset/task/1631/)            | [1631.cpp](./cpp/1631.cpp) |\n| [Sum of Three Values](https://cses.fi/problemset/task/1641/)      | [1641.cpp](./cpp/1641.cpp) |\n| [Sum of Four Values](https://cses.fi/problemset/task/1642/)       | [1642.cpp](./cpp/1642.cpp) |\n| [Nearest Smaller Values](https://cses.fi/problemset/task/1645/)   | [1645.cpp](./cpp/1645.cpp) |\n| [Subarray Sums I](https://cses.fi/problemset/task/1660/)          | [1660.cpp](./cpp/1660.cpp) |\n| [Subarray Sums II](https://cses.fi/problemset/task/1661/)         | [1661.cpp](./cpp/1661.cpp) |\n| [Subarray Divisibility](https://cses.fi/problemset/task/1662/)    | [1662.cpp](./cpp/1662.cpp) |\n| [Subarray Distinct Values](https://cses.fi/problemset/task/2428/) | [2428.cpp](./cpp/2428.cpp) |\n| [Array Division](https://cses.fi/problemset/task/1085/)           | [1085.cpp](./cpp/1085.cpp) |\n| [Sliding Median](https://cses.fi/problemset/task/1076/)           | [1076.cpp](./cpp/1076.cpp) |\n| [Sliding Cost](https://cses.fi/problemset/task/1077/)             | [1077.cpp](./cpp/1077.cpp) |\n| [Movie Festival II](https://cses.fi/problemset/task/1632/)        | [1632.cpp](./cpp/1632.cpp) |\n| [Maximum Subarray Sum II](https://cses.fi/problemset/task/1644/)  | [1644.cpp](./cpp/1644.cpp) |\n\n### Dynamic Programming\n\n| Name                                                            | Solution                   |\n| --------------------------------------------------------------- | -------------------------- |\n| [Dice Combinations](https://cses.fi/problemset/task/1633/)      | [1633.cpp](./cpp/1633.cpp) |\n| [Minimizing Coins](https://cses.fi/problemset/task/1634/)       | [1634.cpp](./cpp/1634.cpp) |\n| [Coin Combinations I](https://cses.fi/problemset/task/1635/)    | [1635.cpp](./cpp/1635.cpp) |\n| [Coin Combinations II](https://cses.fi/problemset/task/1636/)   | [1636.cpp](./cpp/1636.cpp) |\n| [Removing Digits](https://cses.fi/problemset/task/1637/)        | [1637.cpp](./cpp/1637.cpp) |\n| [Grid Paths](https://cses.fi/problemset/task/1638/)             | [1638.cpp](./cpp/1638.cpp) |\n| [Book Shop](https://cses.fi/problemset/task/1158/)              | [1158.cpp](./cpp/1158.cpp) |\n| [Array Description](https://cses.fi/problemset/task/1746/)      | [1746.cpp](./cpp/1746.cpp) |\n| [Counting Towers](https://cses.fi/problemset/task/2413/)        | [2413.cpp](./cpp/2413.cpp) |\n| [Edit Distance](https://cses.fi/problemset/task/1639/)          | [1639.cpp](./cpp/1639.cpp) |\n| [Rectangle Cutting](https://cses.fi/problemset/task/1744/)      | [1744.cpp](./cpp/1744.cpp) |\n| [Money Sums](https://cses.fi/problemset/task/1745/)             | [1745.cpp](./cpp/1745.cpp) |\n| [Removal Game](https://cses.fi/problemset/task/1097/)           | [1097.cpp](./cpp/1097.cpp) |\n| [Two Sets II](https://cses.fi/problemset/task/1093/)            | [1093.cpp](./cpp/1093.cpp) |\n| [Increasing Subsequence](https://cses.fi/problemset/task/1145/) | [1145.cpp](./cpp/1145.cpp) |\n| [Projects](https://cses.fi/problemset/task/1140/)               | [1140.cpp](./cpp/1140.cpp) |\n| [Elevator Rides](https://cses.fi/problemset/task/1653/)         | [1653.cpp](./cpp/1653.cpp) |\n| [Counting Tilings](https://cses.fi/problemset/task/2181/)       | [2181.cpp](./cpp/2181.cpp) |\n| [Counting Numbers](https://cses.fi/problemset/task/2220/)       | [2220.cpp](./cpp/2220.cpp) |\n\n### Graph Algorithms\n\n| Name                                                          | Solution                   |\n| ------------------------------------------------------------- | -------------------------- |\n| [Counting Rooms](https://cses.fi/problemset/task/1192/)       | [1192.cpp](./cpp/1192.cpp) |\n| [Labyrinth](https://cses.fi/problemset/task/1193/)            | [1193.cpp](./cpp/1193.cpp) |\n| [Building Roads](https://cses.fi/problemset/task/1666/)       | [1666.cpp](./cpp/1666.cpp) |\n| [Message Route](https://cses.fi/problemset/task/1667/)        | [1667.cpp](./cpp/1667.cpp) |\n| [Building Teams](https://cses.fi/problemset/task/1668/)       | [1668.cpp](./cpp/1668.cpp) |\n| [Round Trip](https://cses.fi/problemset/task/1669/)           | [1669.cpp](./cpp/1669.cpp) |\n| [Monsters](https://cses.fi/problemset/task/1194/)             | [1194.cpp](./cpp/1194.cpp) |\n| [Shortest Routes I](https://cses.fi/problemset/task/1671/)    | [1671.cpp](./cpp/1671.cpp) |\n| [Shortest Routes II](https://cses.fi/problemset/task/1672/)   | [1672.cpp](./cpp/1672.cpp) |\n| [High Score](https://cses.fi/problemset/task/1673/)           | [1673.cpp](./cpp/1673.cpp) |\n| [Flight Discount](https://cses.fi/problemset/task/1195/)      | [1195.cpp](./cpp/1195.cpp) |\n| [Cycle Finding](https://cses.fi/problemset/task/1197/)        | [1197.cpp](./cpp/1197.cpp) |\n| [Flight Routes](https://cses.fi/problemset/task/1196/)        | [1196.cpp](./cpp/1196.cpp) |\n| [Round Trip II](https://cses.fi/problemset/task/1678/)        | [1678.cpp](./cpp/1678.cpp) |\n| [Course Schedule](https://cses.fi/problemset/task/1679/)      | [1679.cpp](./cpp/1679.cpp) |\n| [Longest Flight Route](https://cses.fi/problemset/task/1680/) | [1680.cpp](./cpp/1680.cpp) |\n| [Game Routes](https://cses.fi/problemset/task/1681/)          | [1681.cpp](./cpp/1681.cpp) |\n| [Investigation](https://cses.fi/problemset/task/1202/)        | [1202.cpp](./cpp/1202.cpp) |\n| [Planets Queries I](https://cses.fi/problemset/task/1750/)    | [1750.cpp](./cpp/1750.cpp) |\n| [Planets Queries II](https://cses.fi/problemset/task/1160/)   | [1160.cpp](./cpp/1160.cpp) |\n| [Planets Cycles](https://cses.fi/problemset/task/1751/)       | [1751.cpp](./cpp/1751.cpp) |\n| [Road Reparation](https://cses.fi/problemset/task/1675/)      | [1675.cpp](./cpp/1675.cpp) |\n| [Road Construction](https://cses.fi/problemset/task/1676/)    | [1676.cpp](./cpp/1676.cpp) |\n| [Flight Routes Check](https://cses.fi/problemset/task/1682/)  | [1682.cpp](./cpp/1682.cpp) |\n| [Planets and Kingdoms](https://cses.fi/problemset/task/1683/) | [1683.cpp](./cpp/1683.cpp) |\n| [Giant Pizza](https://cses.fi/problemset/task/1684/)          | [1684.cpp](./cpp/1684.cpp) |\n| [Coin Collector](https://cses.fi/problemset/task/1686/)       | [1686.cpp](./cpp/1686.cpp) |\n| [Mail Delivery](https://cses.fi/problemset/task/1691/)        | [1691.cpp](./cpp/1691.cpp) |\n| [De Bruijn Sequence](https://cses.fi/problemset/task/1692/)   | [1692.cpp](./cpp/1692.cpp) |\n| [Teleporters Path](https://cses.fi/problemset/task/1693/)     | [1693.cpp](./cpp/1693.cpp) |\n| [Hamiltonian Flights](https://cses.fi/problemset/task/1690/)  | [1690.cpp](./cpp/1690.cpp) |\n| [Knight's Tour](https://cses.fi/problemset/task/1689/)        | [1689.cpp](./cpp/1689.cpp) |\n| [Download Speed](https://cses.fi/problemset/task/1694/)       | [1694.cpp](./cpp/1694.cpp) |\n| [Police Chase](https://cses.fi/problemset/task/1695/)         | [1695.cpp](./cpp/1695.cpp) |\n| [School Dance](https://cses.fi/problemset/task/1696/)         | [1696.cpp](./cpp/1696.cpp) |\n| [Distinct Routes](https://cses.fi/problemset/task/1711/)      | [1711.cpp](./cpp/1711.cpp) |\n\n### Range Queries\n\n| Name                                                                   | Solution                   |\n| ---------------------------------------------------------------------- | -------------------------- |\n| [Static Range Sum Queries](https://cses.fi/problemset/task/1646/)      | [1646.cpp](./cpp/1646.cpp) |\n| [Static Range Minimum Queries](https://cses.fi/problemset/task/1647/)  | [1647.cpp](./cpp/1647.cpp) |\n| [Dynamic Range Sum Queries](https://cses.fi/problemset/task/1648/)     | [1648.cpp](./cpp/1648.cpp) |\n| [Dynamic Range Minimum Queries](https://cses.fi/problemset/task/1649/) | [1649.cpp](./cpp/1649.cpp) |\n| [Range Xor Queries](https://cses.fi/problemset/task/1650/)             | [1650.cpp](./cpp/1650.cpp) |\n| [Range Update Queries](https://cses.fi/problemset/task/1651/)          | [1651.cpp](./cpp/1651.cpp) |\n| [Forest Queries](https://cses.fi/problemset/task/1652/)                | [1652.cpp](./cpp/1652.cpp) |\n| [Hotel Queries](https://cses.fi/problemset/task/1143/)                 | [1143.cpp](./cpp/1143.cpp) |\n| [List Removals](https://cses.fi/problemset/task/1749/)                 | [1749.cpp](./cpp/1749.cpp) |\n| [Salary Queries](https://cses.fi/problemset/task/1144/)                | [1144.cpp](./cpp/1144.cpp) |\n| [Prefix Sum Queries](https://cses.fi/problemset/task/2166/)            | [2166.cpp](./cpp/2166.cpp) |\n| [Pizzeria Queries](https://cses.fi/problemset/task/2206/)              | [2206.cpp](./cpp/2206.cpp) |\n| [Subarray Sum Queries](https://cses.fi/problemset/task/1190/)          | [1190.cpp](./cpp/1190.cpp) |\n| [Distinct Values Queries](https://cses.fi/problemset/task/1734/)       | [1734.cpp](./cpp/1734.cpp) |\n| [Increasing Array Queries](https://cses.fi/problemset/task/2416/)      | [2416.cpp](./cpp/2416.cpp) |\n| [Forest Queries II](https://cses.fi/problemset/task/1739/)             | [1739.cpp](./cpp/1739.cpp) |\n| [Range Updates and Sums](https://cses.fi/problemset/task/1735/)        | [1735.cpp](./cpp/1735.cpp) |\n| [Polynomial Queries](https://cses.fi/problemset/task/1736/)            | [1736.cpp](./cpp/1736.cpp) |\n| [Range Queries and Copies](https://cses.fi/problemset/task/1737/)      | [1737.cpp](./cpp/1737.cpp) |\n\n### Tree Algorithms\n\n| Name                                                           | Solution                   |\n| -------------------------------------------------------------- | -------------------------- |\n| [Subordinates](https://cses.fi/problemset/task/1674/)          | [1674.cpp](./cpp/1674.cpp) |\n| [Tree Matching](https://cses.fi/problemset/task/1130/)         | [1130.cpp](./cpp/1130.cpp) |\n| [Tree Diameter](https://cses.fi/problemset/task/1131/)         | [1131.cpp](./cpp/1131.cpp) |\n| [Tree Distances I](https://cses.fi/problemset/task/1132/)      | [1132.cpp](./cpp/1132.cpp) |\n| [Tree Distances II](https://cses.fi/problemset/task/1133/)     | [1133.cpp](./cpp/1133.cpp) |\n| [Company Queries I](https://cses.fi/problemset/task/1687/)     | [1687.cpp](./cpp/1687.cpp) |\n| [Company Queries II](https://cses.fi/problemset/task/1688/)    | [1688.cpp](./cpp/1688.cpp) |\n| [Distance Queries](https://cses.fi/problemset/task/1135/)      | [1135.cpp](./cpp/1135.cpp) |\n| [Counting Paths](https://cses.fi/problemset/task/1136/)        | [1136.cpp](./cpp/1136.cpp) |\n| [Subtree Queries](https://cses.fi/problemset/task/1137/)       | [1137.cpp](./cpp/1137.cpp) |\n| [Path Queries](https://cses.fi/problemset/task/1138/)          | [1138.cpp](./cpp/1138.cpp) |\n| [Path Queries II](https://cses.fi/problemset/task/2134/)       | [2134.cpp](./cpp/2134.cpp) |\n| [Distinct Colors](https://cses.fi/problemset/task/1139/)       | [1139.cpp](./cpp/1139.cpp) |\n| [Finding a Centroid](https://cses.fi/problemset/task/2079/)    | [2079.cpp](./cpp/2079.cpp) |\n| [Fixed-Length Paths I](https://cses.fi/problemset/task/2080/)  | [2080.cpp](./cpp/2080.cpp) |\n| [Fixed-Length Paths II](https://cses.fi/problemset/task/2081/) | [2081.cpp](./cpp/2081.cpp) |\n\n### Mathematics\n\n| Name                                                            | Solution                   |\n| --------------------------------------------------------------- | -------------------------- |\n| [Josephus Queries](https://cses.fi/problemset/task/2164/)       | [2164.cpp](./cpp/2164.cpp) |\n| [Exponentiation](https://cses.fi/problemset/task/1095/)         | [1095.cpp](./cpp/1095.cpp) |\n| [Exponentiation II](https://cses.fi/problemset/task/1712/)      | [1712.cpp](./cpp/1712.cpp) |\n| [Counting Divisors](https://cses.fi/problemset/task/1713/)      | [1713.cpp](./cpp/1713.cpp) |\n| [Common Divisors](https://cses.fi/problemset/task/1081/)        | [1081.cpp](./cpp/1081.cpp) |\n| [Sum of Divisors](https://cses.fi/problemset/task/1082/)        | [1082.cpp](./cpp/1082.cpp) |\n| [Divisor Analysis](https://cses.fi/problemset/task/2182/)       | [2182.cpp](./cpp/2182.cpp) |\n| [Prime Multiples](https://cses.fi/problemset/task/2185/)        | [2185.cpp](./cpp/2185.cpp) |\n| [Counting Coprime Pairs](https://cses.fi/problemset/task/2417/) | [2417.cpp](./cpp/2417.cpp) |\n| [Binomial Coefficients](https://cses.fi/problemset/task/1079/)  | [1079.cpp](./cpp/1079.cpp) |\n| [Creating Strings II](https://cses.fi/problemset/task/1715/)    | [1715.cpp](./cpp/1715.cpp) |\n| [Distributing Apples](https://cses.fi/problemset/task/1716/)    | [1716.cpp](./cpp/1716.cpp) |\n| [Christmas Party](https://cses.fi/problemset/task/1717/)        | [1717.cpp](./cpp/1717.cpp) |\n| [Bracket Sequences I](https://cses.fi/problemset/task/2064/)    | [2064.cpp](./cpp/2064.cpp) |\n| [Bracket Sequences II](https://cses.fi/problemset/task/2187/)   | [2187.cpp](./cpp/2187.cpp) |\n| [Counting Necklaces](https://cses.fi/problemset/task/2209/)     | [2209.cpp](./cpp/2209.cpp) |\n| [Counting Grids](https://cses.fi/problemset/task/2210/)         | [2210.cpp](./cpp/2210.cpp) |\n| [Fibonacci Numbers](https://cses.fi/problemset/task/1722/)      | [1722.cpp](./cpp/1722.cpp) |\n| [Throwing Dice](https://cses.fi/problemset/task/1096/)          | [1096.cpp](./cpp/1096.cpp) |\n| [Graph Paths I](https://cses.fi/problemset/task/1723/)          | [1723.cpp](./cpp/1723.cpp) |\n| [Graph Paths II](https://cses.fi/problemset/task/1724/)         | [1724.cpp](./cpp/1724.cpp) |\n| [Dice Probability](https://cses.fi/problemset/task/1725/)       | [1725.cpp](./cpp/1725.cpp) |\n| [Moving Robots](https://cses.fi/problemset/task/1726/)          | [1726.cpp](./cpp/1726.cpp) |\n| [Candy Lottery](https://cses.fi/problemset/task/1727/)          | [1727.cpp](./cpp/1727.cpp) |\n| [Inversion Probability](https://cses.fi/problemset/task/1728/)  | [1728.cpp](./cpp/1728.cpp) |\n| [Stick Game](https://cses.fi/problemset/task/1729/)             | [1729.cpp](./cpp/1729.cpp) |\n| [Nim Game I](https://cses.fi/problemset/task/1730/)             | [1730.cpp](./cpp/1730.cpp) |\n| [Nim Game II](https://cses.fi/problemset/task/1098/)            | [1098.cpp](./cpp/1098.cpp) |\n| [Stair Game](https://cses.fi/problemset/task/1099/)             | [1099.cpp](./cpp/1099.cpp) |\n| [Grundy's Game](https://cses.fi/problemset/task/2207/)          | [2207.cpp](./cpp/2207.cpp) |\n| [Another Game](https://cses.fi/problemset/task/2208/)           | [2208.cpp](./cpp/2208.cpp) |\n\n### String Algorithms\n\n| Name                                                            | Solution                   |\n| --------------------------------------------------------------- | -------------------------- |\n| [Word Combinations](https://cses.fi/problemset/task/1731/)      | [1731.cpp](./cpp/1731.cpp) |\n| [String Matching](https://cses.fi/problemset/task/1753/)        | [1753.cpp](./cpp/1753.cpp) |\n| [Finding Borders](https://cses.fi/problemset/task/1732/)        | [1732.cpp](./cpp/1732.cpp) |\n| [Finding Periods](https://cses.fi/problemset/task/1733/)        | [1733.cpp](./cpp/1733.cpp) |\n| [Minimal Rotation](https://cses.fi/problemset/task/1110/)       | [1110.cpp](./cpp/1110.cpp) |\n| [Longest Palindrome](https://cses.fi/problemset/task/1111/)     | [1111.cpp](./cpp/1111.cpp) |\n| [Required Substring](https://cses.fi/problemset/task/1112/)     | [1112.cpp](./cpp/1112.cpp) |\n| [Palindrome Queries](https://cses.fi/problemset/task/2420/)     | [2420.cpp](./cpp/2420.cpp) |\n| [Finding Patterns](https://cses.fi/problemset/task/2102/)       | [2102.cpp](./cpp/2102.cpp) |\n| [Counting Patterns](https://cses.fi/problemset/task/2103/)      | [2103.cpp](./cpp/2103.cpp) |\n| [Pattern Positions](https://cses.fi/problemset/task/2104/)      | [2104.cpp](./cpp/2104.cpp) |\n| [Distinct Substrings](https://cses.fi/problemset/task/2105/)    | [2105.cpp](./cpp/2105.cpp) |\n| [Repeating Substring](https://cses.fi/problemset/task/2106/)    | [2106.cpp](./cpp/2106.cpp) |\n| [String Functions](https://cses.fi/problemset/task/2107/)       | [2107.cpp](./cpp/2107.cpp) |\n| [Substring Order I](https://cses.fi/problemset/task/2108/)      | [2108.cpp](./cpp/2108.cpp) |\n| [Substring Order II](https://cses.fi/problemset/task/2109/)     | [2109.cpp](./cpp/2109.cpp) |\n| [Substring Distribution](https://cses.fi/problemset/task/2110/) | [2110.cpp](./cpp/2110.cpp) |\n\n### Geometry\n\n| Name                                                                | Solution                   |\n| ------------------------------------------------------------------- | -------------------------- |\n| [Point Location Test](https://cses.fi/problemset/task/2189/)        | [2189.cpp](./cpp/2189.cpp) |\n| [Line Segment Intersection](https://cses.fi/problemset/task/2190/)  | [2190.cpp](./cpp/2190.cpp) |\n| [Polygon Area](https://cses.fi/problemset/task/2191/)               | [2191.cpp](./cpp/2191.cpp) |\n| [Point in Polygon](https://cses.fi/problemset/task/2192/)           | [2192.cpp](./cpp/2192.cpp) |\n| [Polygon Lattice Points](https://cses.fi/problemset/task/2193/)     | [2193.cpp](./cpp/2193.cpp) |\n| [Minimum Euclidean Distance](https://cses.fi/problemset/task/2194/) | [2194.cpp](./cpp/2194.cpp) |\n| [Convex Hull](https://cses.fi/problemset/task/2195/)                | [2195.cpp](./cpp/2195.cpp) |\n\n### Advanced Techniques\n\n| Name                                                          | Solution                   |\n| ------------------------------------------------------------- | -------------------------- |\n| [Meet in the Middle](https://cses.fi/problemset/task/1628/)   | [1628.cpp](./cpp/1628.cpp) |\n| [Hamming Distance](https://cses.fi/problemset/task/2136/)     | [2136.cpp](./cpp/2136.cpp) |\n| [Beautiful Subgrids](https://cses.fi/problemset/task/2137/)   | [2137.cpp](./cpp/2137.cpp) |\n| [Reachable Nodes](https://cses.fi/problemset/task/2138/)      | [2138.cpp](./cpp/2138.cpp) |\n| [Reachability Queries](https://cses.fi/problemset/task/2143/) | [2143.cpp](./cpp/2143.cpp) |\n| [Cut and Paste](https://cses.fi/problemset/task/2072/)        |                            |\n| [Substring Reversals](https://cses.fi/problemset/task/2073/)  |                            |\n| [Reversals and Sums](https://cses.fi/problemset/task/2074/)   |                            |\n| [Necessary Roads](https://cses.fi/problemset/task/2076/)      | [2076.cpp](./cpp/2076.cpp) |\n| [Necessary Cities](https://cses.fi/problemset/task/2077/)     | [2077.cpp](./cpp/2077.cpp) |\n| [Eulerian Subgraphs](https://cses.fi/problemset/task/2078/)   | [2078.cpp](./cpp/2078.cpp) |\n| [Monster Game I](https://cses.fi/problemset/task/2084/)       | [2084.cpp](./cpp/2084.cpp) |\n| [Monster Game II](https://cses.fi/problemset/task/2085/)      | [2085.cpp](./cpp/2085.cpp) |\n| [Subarray Squares](https://cses.fi/problemset/task/2086/)     | [2086.cpp](./cpp/2086.cpp) |\n| [Houses and Schools](https://cses.fi/problemset/task/2087/)   | [2087.cpp](./cpp/2087.cpp) |\n| [Knuth Division](https://cses.fi/problemset/task/2088/)       | [2088.cpp](./cpp/2088.cpp) |\n| [Apples and Bananas](https://cses.fi/problemset/task/2111/)   | [2111.cpp](./cpp/2111.cpp) |\n| [One Bit Positions](https://cses.fi/problemset/task/2112/)    | [2112.cpp](./cpp/2112.cpp) |\n| [Signal Processing](https://cses.fi/problemset/task/2113/)    | [2113.cpp](./cpp/2113.cpp) |\n| [New Roads Queries](https://cses.fi/problemset/task/2101/)    | [2101.cpp](./cpp/2101.cpp) |\n| [Dynamic Connectivity](https://cses.fi/problemset/task/2133/) | [2133.cpp](./cpp/2133.cpp) |\n| [Parcel Delivery](https://cses.fi/problemset/task/2121/)      | [2121.cpp](./cpp/2121.cpp) |\n| [Task Assignment](https://cses.fi/problemset/task/2129/)      | [2129.cpp](./cpp/2129.cpp) |\n| [Distinct Routes II](https://cses.fi/problemset/task/2130/)   | [2130.cpp](./cpp/2130.cpp) |\n\n### Additional Problems\n\n| Name                                                                   | Solution                   |\n| ---------------------------------------------------------------------- | -------------------------- |\n| [Shortest Subsequence](https://cses.fi/problemset/task/1087/)          | [1087.cpp](./cpp/1087.cpp) |\n| [Counting Bits](https://cses.fi/problemset/task/1146/)                 | [1146.cpp](./cpp/1146.cpp) |\n| [Swap Game](https://cses.fi/problemset/task/1670/)                     | [1670.cpp](./cpp/1670.cpp) |\n| [Prüfer Code](https://cses.fi/problemset/task/1134/)                   | [1134.cpp](./cpp/1134.cpp) |\n| [Acyclic Graph Edges](https://cses.fi/problemset/task/1756/)           | [1756.cpp](./cpp/1756.cpp) |\n| [Strongly Connected Edges](https://cses.fi/problemset/task/2177/)      | [2177.cpp](./cpp/2177.cpp) |\n| [Even Outdegree Edges](https://cses.fi/problemset/task/2179/)          | [2179.cpp](./cpp/2179.cpp) |\n| [Multiplication Table](https://cses.fi/problemset/task/2422/)          | [2422.cpp](./cpp/2422.cpp) |\n| [Advertisement](https://cses.fi/problemset/task/1142/)                 | [1142.cpp](./cpp/1142.cpp) |\n| [Special Substrings](https://cses.fi/problemset/task/2186/)            | [2186.cpp](./cpp/2186.cpp) |\n| [Permutation Inversions](https://cses.fi/problemset/task/2229/)        | [2229.cpp](./cpp/2229.cpp) |\n| [Maximum Xor Subarray](https://cses.fi/problemset/task/1655/)          | [1655.cpp](./cpp/1655.cpp) |\n| [Movie Festival Queries](https://cses.fi/problemset/task/1664/)        | [1664.cpp](./cpp/1664.cpp) |\n| [Chess Tournament](https://cses.fi/problemset/task/1697/)              | [1697.cpp](./cpp/1697.cpp) |\n| [Tree Traversals](https://cses.fi/problemset/task/1702/)               | [1702.cpp](./cpp/1702.cpp) |\n| [Network Renovation](https://cses.fi/problemset/task/1704/)            |                            |\n| [Graph Girth](https://cses.fi/problemset/task/1707/)                   |                            |\n| [Intersection Points](https://cses.fi/problemset/task/1740/)           | [1740.cpp](./cpp/1740.cpp) |\n| [Inverse Inversions](https://cses.fi/problemset/task/2214/)            | [2214.cpp](./cpp/2214.cpp) |\n| [Monotone Subsequences](https://cses.fi/problemset/task/2215/)         |                            |\n| [String Reorder](https://cses.fi/problemset/task/1743/)                | [1743.cpp](./cpp/1743.cpp) |\n| [Stack Weights](https://cses.fi/problemset/task/2425/)                 | [2425.cpp](./cpp/2425.cpp) |\n| [Pyramid Array](https://cses.fi/problemset/task/1747/)                 | [1747.cpp](./cpp/1747.cpp) |\n| [Increasing Subsequence II](https://cses.fi/problemset/task/1748/)     | [1748.cpp](./cpp/1748.cpp) |\n| [String Removals](https://cses.fi/problemset/task/1149/)               | [1149.cpp](./cpp/1149.cpp) |\n| [Bit Inversions](https://cses.fi/problemset/task/1188/)                | [1188.cpp](./cpp/1188.cpp) |\n| [Xor Pyramid](https://cses.fi/problemset/task/2419/)                   | [2419.cpp](./cpp/2419.cpp) |\n| [Writing Numbers](https://cses.fi/problemset/task/1086/)               | [1086.cpp](./cpp/1086.cpp) |\n| [String Transform](https://cses.fi/problemset/task/1113/)              | [1113.cpp](./cpp/1113.cpp) |\n| [Letter Pair Move Game](https://cses.fi/problemset/task/2427/)         |                            |\n| [Maximum Building I](https://cses.fi/problemset/task/1147/)            | [1147.cpp](./cpp/1147.cpp) |\n| [Sorting Methods](https://cses.fi/problemset/task/1162/)               | [1162.cpp](./cpp/1162.cpp) |\n| [Cyclic Array](https://cses.fi/problemset/task/1191/)                  | [1191.cpp](./cpp/1191.cpp) |\n| [List of Sums](https://cses.fi/problemset/task/2414/)                  | [2414.cpp](./cpp/2414.cpp) |\n| [Increasing Array II](https://cses.fi/problemset/task/2132/)           |                            |\n| [Food Division](https://cses.fi/problemset/task/1189/)                 |                            |\n| [Bit Problem](https://cses.fi/problemset/task/1654/)                   | [1654.cpp](./cpp/1654.cpp) |\n| [Swap Round Sorting](https://cses.fi/problemset/task/1698/)            | [1698.cpp](./cpp/1698.cpp) |\n| [Binary Subsequences](https://cses.fi/problemset/task/2430/)           |                            |\n| [Tree Isomorphism I](https://cses.fi/problemset/task/1700/)            | [1700.cpp](./cpp/1700.cpp) |\n| [Counting Sequences](https://cses.fi/problemset/task/2228/)            | [2228.cpp](./cpp/2228.cpp) |\n| [Critical Cities](https://cses.fi/problemset/task/1703/)               |                            |\n| [School Excursion](https://cses.fi/problemset/task/1706/)              | [1706.cpp](./cpp/1706.cpp) |\n| [Coin Grid](https://cses.fi/problemset/task/1709/)                     | [1709.cpp](./cpp/1709.cpp) |\n| [Robot Path](https://cses.fi/problemset/task/1742/)                    |                            |\n| [Programmers and Artists](https://cses.fi/problemset/task/2426/)       |                            |\n| [Course Schedule II](https://cses.fi/problemset/task/1757/)            | [1757.cpp](./cpp/1757.cpp) |\n| [Removing Digits II](https://cses.fi/problemset/task/2174/)            |                            |\n| [Coin Arrangement](https://cses.fi/problemset/task/2180/)              |                            |\n| [Counting Bishops](https://cses.fi/problemset/task/2176/)              | [2176.cpp](./cpp/2176.cpp) |\n| [Grid Puzzle I](https://cses.fi/problemset/task/2432/)                 | [2432.cpp](./cpp/2432.cpp) |\n| [Grid Puzzle II](https://cses.fi/problemset/task/2131/)                | [2131.cpp](./cpp/2131.cpp) |\n| [Empty String](https://cses.fi/problemset/task/1080/)                  | [1080.cpp](./cpp/1080.cpp) |\n| [Grid Paths](https://cses.fi/problemset/task/1078/)                    | [1078.cpp](./cpp/1078.cpp) |\n| [Bit Substrings](https://cses.fi/problemset/task/2115/)                |                            |\n| [Reversal Sorting](https://cses.fi/problemset/task/2075/)              |                            |\n| [Counting Reorders](https://cses.fi/problemset/task/2421/)             |                            |\n| [Book Shop II](https://cses.fi/problemset/task/1159/)                  | [1159.cpp](./cpp/1159.cpp) |\n| [Network Breakdown](https://cses.fi/problemset/task/1677/)             | [1677.cpp](./cpp/1677.cpp) |\n| [Visiting Cities](https://cses.fi/problemset/task/1203/)               |                            |\n| [Missing Coin Sum Queries](https://cses.fi/problemset/task/2184/)      |                            |\n| [Number Grid](https://cses.fi/problemset/task/1157/)                   |                            |\n| [Maximum Building II](https://cses.fi/problemset/task/1148/)           | [1148.cpp](./cpp/1148.cpp) |\n| [Filling Trominos](https://cses.fi/problemset/task/2423/)              |                            |\n| [Stick Divisions](https://cses.fi/problemset/task/1161/)               | [1161.cpp](./cpp/1161.cpp) |\n| [Coding Company](https://cses.fi/problemset/task/1665/)                | [1665.cpp](./cpp/1665.cpp) |\n| [Flight Route Requests](https://cses.fi/problemset/task/1699/)         |                            |\n| [Two Stacks Sorting](https://cses.fi/problemset/task/2402/)            |                            |\n| [Tree Isomorphism II](https://cses.fi/problemset/task/1701/)           | [1701.cpp](./cpp/1701.cpp) |\n| [Forbidden Cities](https://cses.fi/problemset/task/1705/)              |                            |\n| [Area of Rectangles](https://cses.fi/problemset/task/1741/)            | [1741.cpp](./cpp/1741.cpp) |\n| [Grid Completion](https://cses.fi/problemset/task/2429/)               |                            |\n| [Creating Offices](https://cses.fi/problemset/task/1752/)              |                            |\n| [Permutations II](https://cses.fi/problemset/task/1075/)               |                            |\n| [Functional Graph Distribution](https://cses.fi/problemset/task/2415/) |                            |\n| [New Flight Routes](https://cses.fi/problemset/task/1685/)             |                            |\n| [Grid Path Construction](https://cses.fi/problemset/task/2418/)        |                            |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhieplpvip%2Fcses-solutions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhieplpvip%2Fcses-solutions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhieplpvip%2Fcses-solutions/lists"}