动态规划
白速龙王的回眸
一命二运三风水
四积功德五读书
六名七相八敬神
九交贵人十养生
展开
-
多重集组合数(动态规划)
还是dp 然后我们需要对dp[i+1][j]进行拆分几种情况: 1.不选第i种,也就是第i种物品选0个,那么显然这时候就是dp[i][j] 2.选第i种,这时候假设我们可以选无限个,那么第i种可以选1,2,…,假如这时候对第i种选取的个数减1,那么它就可以从0一直选到正无穷,同时j个物品也将变成j-1个,这时候对应的就是dp[i+1][j-i] 3.选第i种,但是第i种最多只能选ai个,那么我们在第二步减1后会发现,我们是选不到ai的(最多选到ai-1),这时候第i种对应选ai个的情况,就相当于前i-..原创 2021-11-15 18:30:49 · 441 阅读 · 0 评论 -
划分数(动态规划)
如果用高中排列组合的挡板思维,是做不了的,因此,考虑采用dp 我们用dp[i][j]表示把j个物品进行i个划分的种数(这里是可以包括0的哦),也就是意味着有物品的肯定不超过i组 那么,对于dp[i][j],我们有两种情况 第一种:所有分组中的物品均都大于0,因此对每个分组中的物品数减1,我们可以得到dp[i][j-i] 第二种:若分组中有0个物品的情况,那么这时候可以减少分组数,也就是dp[i-1][j] 因此: 最后,考虑到越界情况,我们设置好遍历的值以及if条件: 关于边界dp[0][0],也就.原创 2021-11-15 18:19:19 · 280 阅读 · 0 评论