随笔分类 - 各种dp
摘要:当背包有物品可以放很多件的时候,可以将物品变成1,2,4,。。。2^m, n-2^m,
阅读全文
摘要:数位dp的思想就在于递归,记录当前的某一个唯一状态,依次递归下去,要注意唯一。数位dp常设的状态有当前位置,上一数字,是否具有前导零,是否有限制。1.CodeForces 55DBeautiful numbers题目大意:一个数是幸运数当且仅当这个数能整除所有位数,求[a,b]有多少幸运数10以内的...
阅读全文
摘要:题目大意,1#include#includeusing namespace std;const int maxa = (1 maxn){ maxn = dp[n][i]; ans = i; } /...
阅读全文
摘要:区间dp比如从i到j如果str[i] == str[j]那么i到j的值就与i+1到j-1相同,否则从i到j-1与i+1到j中选一个最优解,这道题直接定义int的二维数组会mle,用short,也可以用滚动数组。#includeconst int maxa = 5005;short dp[maxa][...
阅读全文
摘要:是因为我好久不刷题了吗,这个题竟然做了俩小时,好几个思路都被推翻用dp数组预处理出范围是a->a+x字符y长度有多少种递增串然后例如def首先求a__有多少种情况那么自然后面就是只有b即dp[2][25],再求b__的情况c__,ab__,ac__.......然后求字符串长度小于输入长度的情况#i...
阅读全文
摘要:题意:有两个字符串,每个串由n个字符组成,每个字符有一个价值,Roy每次指定串2中的一个字符,他的得分增加的值为这个字符的价值,然后把两个串中这个字符前面的那部分(包括这个字符)删掉,重复进行这样的操作,求Roy最多能得多少分。dp[i][k] 存的前str1的前i个和str2的前k个能取得最大值,...
阅读全文
摘要:题目大意:买珍珠,每买一种珍珠需要额外付出十个这种珍珠的钱,但你可以买比这种珍珠高品质的珍珠来替换它(那么就只需要那高品质付出那额外的十个珍珠的钱了,但是每个珍珠的价钱也变化了)这是一个dp。令dp[i]为只买前i种珍珠的最少花费钱数,状态转移方程为dp[i] = min(dp[i],dp[j]+s...
阅读全文
摘要:hrbust 1335#include //多进制储存数,第i位进制维back[i]+1,可以避免重复#includeusing namespace std;int vl[100000];int w[105];int back[105];int v[105][10];int c[105];i...
阅读全文

浙公网安备 33010602011771号