dp
kuricip
如果你瞄准月亮,即便迷失,也是在星辰之间
展开
-
最少拦截系统(dp)
题目传送门最少拦截系统题目大意某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹.怎么办呢?多搞几套系统呗!你说说倒蛮容易,成本呢?成本是个大问题啊.所以俺就到这里来求救了,请帮助计算一下最少需要多少套拦截系统.思路逆向思维的最长上升子序列dp[i]dp[i]dp[i]代表到达第i原创 2020-10-18 20:23:34 · 526 阅读 · 0 评论 -
Tickets(dp)
题目传送门Tickets题目大意现在有n个人要买电影票,如果知道每个人单独买票花费的时间,还有和前一个人一起买花费的时间,问最少花多长时间可以全部买完票。思路dp[i]dp[i]dp[i]记录到第iii个人的时候消耗的最小时间即可转移方程为:dp[i]=min(dp[i−1]+s[i],dp[i−2]+d[i−1])dp[i]=min(dp[i-1]+s[i], dp[i-2]+d[i-1])dp[i]=min(dp[i−1]+s[i],dp[i−2]+d[i−1])其中s[i]s[i]s[i原创 2020-10-18 15:02:36 · 237 阅读 · 0 评论 -
免费馅饼(塔数)
题目传送门免费馅饼题目大意给你一个0~10的数轴人最开始在5处,人去接馅饼,每次可以移动一个位置,即可以到达4,5,6中任意一点,给你n个数据,每组数据包括x,T,为T时间x处有一个馅饼,求此人最多可以接到多少馅饼思路塔数的思想,从底向上推,用二维数组记录馅饼的情况即dp[i][j]dp[i][j]dp[i][j]表示在iii时刻jjj处位置的馅饼的个数转移方程为dp[i][j]+=max(dp[i+1][j−1],max(dp[i+1][j],dp[i+1][j+1]))dp[i][j原创 2020-10-18 11:55:59 · 430 阅读 · 0 评论 -
Piggy-Bank(完全背包)
题目传送门Piggy-Bank题目大意给你一个存钱罐的初始重量和装满后的重量给你n个可以任意取的硬币,每个硬币具有价值和重量,求将存钱罐装满后硬币的最小价值若不能装满则输出 This is impossible.思路很明显的完全背包问题,因为求的最小值,所以将数组初始化的时候为无穷大,最后判断是否装满即为装满时大小是否为无穷大即可AC Code#pragma GCC optimize("-Ofast","-funroll-all-loops")#include<cstdio>原创 2020-10-18 10:46:33 · 272 阅读 · 0 评论 -
Super Jumping! Jumping! Jumping!(dp)
题目传送门Super Jumping! Jumping! Jumping!题目大意给你一长度为n的序列,求非连续的最大递增子序列的和,多组数据思路一维dp,dp[i]dp[i]dp[i]表示到iii时最大递增子序列的和转移方程为dp[j]=max(dp[j],dp[i]+a[j]) when a[j]>a[i]dp[j]=max(dp[j],dp[i]+a[j])\ \ when\ \ a[j]>a[i]dp[j]=max(dp[j],dp原创 2020-10-17 13:09:52 · 117 阅读 · 0 评论 -
Monkey and Banana(基础dp)
题目传送门Monkey and Banana题目大意给你n个砖块和每个砖块的三个数值,分别为长宽高并且可以任意选择,每个砖块可以使用任意次。上面的砖块的长宽必须严格小于下面的砖块,求最高可以堆叠砖块到多高?思路每个砖块一共有3∗2∗13*2*13∗2∗1种情况,限制长宽后即为3种情况,所以我们可以将三种情况全部存下(任意次数使用)然后按照长宽由小到大排序dp每层可以达到的最大高度(每i层之前的最大高度加上本层高度作为下次比较的高度)注意点:因为存三次,所以数据范围实际为0<=n<原创 2020-10-14 00:26:53 · 166 阅读 · 0 评论 -
Max Sum Plus Plus (dp)
题目传送门题目大意给你m个数,在其中选取n组使得每组的数连续,且互相不能相交,求出最大的各组数的和思路采取二维dp的方法dp[i][j]dp[i][j]dp[i][j]中,iii为组数,j为以a[j]a[j]a[j]结尾状态转移方程为dp[i][j]=max(dp[i−1][j]+a[j],dp[i−1][k]+a[j])(0<k<j)dp[i][j]=max(dp[i-1][j]+a[j],dp[i-1][k]+a[j])(0<k<j)dp[i][j]=max(d原创 2020-10-03 15:51:23 · 560 阅读 · 0 评论 -
Strange Towers of Hanoi(递归/递推/dp)
题目大意:求出n盘四柱Hanoi的最优解原题面参考https://ac.nowcoder.com/acm/contest/998/E来源:牛客网思路:三柱Hanoi问题中,递推公式为的d[n]=2*d[n-1]+1;原因:1、将n-1个盘放在B柱(利用C柱)上需要d[n-1]步2、将最后一个放在C上需要一步3、将B柱上的n-1个移到C上(利用A)需要d[n-1]步共需要2*d[n-1]+1步,其中d[1]=1;四柱Hanoi问题中,递推公式为f[n]=min(f[n],f[原创 2020-06-25 17:25:13 · 257 阅读 · 0 评论