![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
Pikachu_Yj
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #267 (Div. 2) C George and Job
George and Job给你n个数,每一段有m个数,取k段,并且每一段区间没有交叉。dp[i][j]表示到第i个数时取了j段区间的最大和。dp[i][j]=max(不取区间[i-m+1,i],取区间[i-m+1,i]);dp[i][j]=max(dp[i-1][j],dp[i-m][j-1]+区间[i-m+1,i]的区间和)#include<bits/stdc++....原创 2019-07-09 17:12:09 · 151 阅读 · 0 评论 -
ArabellaCPC 2019 J. Thanos Power 动态规划
J. Thanos Power题意:给你一个数N,让你求它最少通过多少次操作得到的。 初值为0,每次操作只能增加,x >= 0;0最少通过多少次操作得到的N,等价于N通过多少次操作得到的0从高位往低位看,,,对于每一位上的数x,我有两种方法让它变成0,一直加 1,加到10后进位,操作数10-x 一直减 1,减到 0, 操作数xd[i][0] 表示第i位一直执行加 1...原创 2019-07-14 13:35:00 · 609 阅读 · 0 评论 -
The 14-th BIT Campus Programming Contest 金色传说
金色传说参考于:xls tql若存在a+b,那么一定存在一个a-b,两者求和,2*a,所以对于每个长度为n和合法式子,只需对每个式子第一个 +/- 前面数字求和,所以需要统计 + / - 号前面的a出现多少次。假设第一个 + / - 前面是一个长度为i的数字,那么 + / - 号后面有 n - i - 1位,每个长度为i的数字出现次数 = 2(正负两种情况) * 长度为 n - i...原创 2019-07-11 21:32:37 · 160 阅读 · 0 评论 -
2019牛客暑期多校训练营(第一场) E ABBA dp
ABBAd[i][j] 表示 放 i 个A j 个 B的方案数d[i][j] 可以由d[i-1][j] 和d[i][j-1] 得到当 i <= n ,那么A可以随意放;当 j <= m,那么B可以随意放;当 i > n,如果放A,AB的数量要小于等于n,i - j 是至少有多少个AB ,i - j <=n;当 j > m,如果放B,BA的数量要...原创 2019-07-19 18:32:07 · 122 阅读 · 0 评论 -
洛谷P1020 导弹拦截 最长不上升子序列 及其优化
P1020导弹拦截第一问,相当于求一个最长不上升子序列。第二问,相当于求一个最长上升子序列证明如下:假设打导弹的方法是这样的:取任意一个导弹,从这个导弹开始将能打的导弹全部打完。而这些导弹全部记为为同一组,再在没打下来的导弹中任选一个重复上述步骤,直到打完所有导弹。 假设我们得到了最小划分的K组导弹,从第a(1<=a<=K)组导弹中任取一个导弹,必定可以从a+1组...原创 2019-07-17 17:12:43 · 252 阅读 · 0 评论 -
HCW 19 Team Round (ICPC format) C. Countering Terrorists dp
传送门题意: 在一条直线上n 个 地方有炸弹, 你的目标是清除所有的炸弹, 你可以执行两种操作, 操作一: 清除长度为 w 的区间内所有炸弹, 操作二:清除长度为 2w 的区间内所有炸弹。 你可以执行 p 次操作一, q 次操作二。 求 w 的最小值。题解: 二分 w , 再 dpdp[i][j] : 前 i 个点, 使用了 j 个操作一, dp[i][j] 表示使用的最小操作...原创 2019-09-02 22:02:26 · 257 阅读 · 0 评论 -
Codeforces Round #583 D Treasure Island 双hash dp
DTreasure Island题意:在一个 n * m的矩阵中, ' .' 代表可以通行, ' # ' 代表障碍,每次只能向右或者向下走,让你选择最少的点将它们变成障碍, 使不存在(1, 1)到 (n,m)的通路, (1,1)和(n,m)不能是障碍;题解:由“显然定理”可知, 答案只有三种情况(0、1、2), 最多我只需要将(n-1,m),(n,m-1) 变成障碍,那么就...原创 2019-09-05 16:18:55 · 131 阅读 · 0 评论