920. Number of Music Playlists
https://leetcode.com/problems/number-of-music-playlists/
N首不同的歌选L个使得每首歌至少被选一次,且重复选歌时要求已经有选K首不同的歌,问最后有多少种选法。分成L步,每步action为选新歌还是旧歌,受限于已经有多少首不同的歌选过。因此dp[i][j]表示从j首歌中选出i个。选新歌时前面j - 1首选i-1首新歌有dp[i-1][j-1]种选法,不管前面具体用哪种,选定后i还有N-(j - 1)种选法,因此i选新歌时总共有dp[i -1][j -1]*(N -(j -1))选法;不选新歌时前面有dp[i-1][j]种选法,从比K多的j-K首中选有j-K种,依然用乘法法则相乘。
Last updated
Was this helpful?