
动态规划
文章平均质量分 60
DP
lniiwuw
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Codeforces Round #740 D.Up the Strip(dp + 整除分块 / 因子递推)
D1. Up the Strip (simplified version)D2. Up the Strip思路:D1.dp[i]为从1经过两种操作变为i的方案数。则dp[i]=∑j=1i−1dp[j]dp[i] = \displaystyle\sum_{j=1}^{i - 1} dp[j]dp[i]=j=1∑i−1dp[j] + ∑j=2idp[ij]\displaystyle\sum_{j=2}^{i}dp[\frac{i}{j}]j=2∑idp[ji]前者用前缀和维护,后者显然为整除分原创 2021-08-27 22:18:15 · 222 阅读 · 0 评论 -
最大得分(三维DP)
题目链接Description你有一个长度为n的a序列,要求你将这个序列分成 k 个部分。要求:每一个部分都非空,部分与部分不能重叠每一个部分都是一串连续下标的数每一个部分的分数等于这个部分的 gcd ,输出一个sum表示这个大小为n的序列,分成k 部分所获得的最大分数。Input第一行包含两个整数,分别是n,k (k <=n <=104,1<= k <= 50),n 表示a 序列的大小,k 表示这个序列应该要被分成的部分数。第二行n 个整数 ai(1<=原创 2021-04-30 21:10:51 · 655 阅读 · 1 评论 -
codeforces1509 C. The Sports Festival(区间dp)
题目链接题意:给与n个数字a1、a2、…、an。di=max(a1,a2,…,ai)−min(a1,a2,…,ai) ,对序列a重新排列,使d1+d2+⋯+dn 得知最小。思路:最容易看成是构造题了,构造了老半天没出来…看了大佬题解,理解了老长时间才明白(蒟蒻)。排序后区间dp,dp[l][r]表示区间[l,r]的和的最小值。对于dp[l][r]可以由两个状态转移来,[l+1,r]到[l,r],[l,r-1]到[l,r],排序后s[j]表示区间最大值,s[i]表示最小值,所以dp[i][j] =原创 2021-04-26 00:21:47 · 375 阅读 · 0 评论