CSES Coin Combinations I
Author: Michael Cao
In this problem, we are asked the number of ways to achieve some value, , using coins of distinct values where the order of coins does not matter. This is known as the "Unordered Coin Change" problem, which you can read about in CPH Chapter 7 under "Counting the Number of Solutions".
Main Idea
To solve this problem, let equal the number of ways to achieve the sum of values, . Then, for some weight , let's try to use each coin. For , we'll transition from for all , where defines the value of the -th coin.
So, the transitions are:
Warning!
Remember to take your answer mod , as instructed in the problem statement.
Example Code
#include <bits/stdc++.h>using namespace std;using ll = long long;using vi = vector<int>;#define pb push_back#define rsz resize#define all(x) begin(x), end(x)#define sz(x) (int)(x).size()using pi = pair<int,int>;#define f first