
整除倍数型dp
AKone123456
这个作者很懒,什么都没留下…
展开
-
被3整除的子序列-----------------------------dp(整除倍数型dp求方案数)
解析: 这种线性dp也是一个套路题 突破口:对3的余数处理 f[i][02]:表示前i个数之和%3余(02)的所有情况 所以我们只要枚举余数的状态即可 状态转移方程:f[i][j]=f[i-1][j]+f[i-1][(j+3-m)%3] f[i-1][j]:表示第i个数不选,选第i-1个且余数为j的 f[i-1][(j+3-m)%3] :表示第i个数选,因为我们枚举的是j,我们要判断第i-1...原创 2020-03-30 16:23:58 · 204 阅读 · 0 评论 -
Subset of Five------------------------------(整除倍数型dp)
题意: 从n个数中任意选,使得选出来的数的总和是5的倍数,请问最大是多少 解析: 这是一种常见的整除倍数型dp 解题套路:遇到这种说是x的倍数,我们状态的变化就是x的余数0~x-1 那么整个状态的转移也都是围绕着余数处理的。 最终答案:f[n][0] 就拿本题来说是5的倍数,我们处理一下余数0~4 假设当前第i位余数为1 f[i][1]=max(f[i-1][0]+x,f[i][1]) 那么我肯定是从第i-1位余数为0的情况 然后+1 才变成第i位余数位1的样子 f[i][2]=max(f[i-1][1..原创 2020-06-14 10:52:08 · 222 阅读 · 0 评论