DP
夢懵緣遠
这个作者很懒,什么都没留下…
展开
-
地宫取宝 多维DP
地宫取宝 X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。 地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。 当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送给小明。 请你帮小明算一算,在...原创 2020-01-09 23:14:03 · 250 阅读 · 0 评论 -
波动数列 背包变形 组合问题
观察这个数列: 1 3 0 2 -1 1 -2 … 这个数列中后一项总是比前一项增加2或者减少3,且每一项都为整数。 栋栋对这种数列很好奇,他想知道长度为 n 和为 s 而且后一项总是比前一项增加 a 或者减少 b 的整数数列可能有多少种呢? 输入格式 共一行,包含四个整数 n,s,a,b,含义如前面所述。 输出格式 共一行,包含一个整数,表示满足条件的方案数。 由于这个数很大,请输出方案数除以 ...原创 2020-01-07 22:38:11 · 312 阅读 · 0 评论 -
摘花生
Hello Kitty想摘点花生送给她喜欢的米老鼠。 她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。 地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。 Hello Kitty只能向东或向南走,不能向西或向北走。 问Hello Kitty最多能够摘到多少颗花生。 输入格式 第一行是一个整数T,代表一共有多少组数据。 接下...原创 2020-01-05 16:42:16 · 192 阅读 · 0 评论 -
特大背包
现在有一个容量为C的背包和N个重量和价值已知的物品. 现在要从这n个物品中挑选出一些物品, 使得选择的物品的总重量不 超过背包的容量, 且总价值最大. 此题的数据范围: 1 <= C <= 10^8(10的8次方) 1 <= N <= 100 输入描述:有多组测试数据. 第一行一个正整数T(T<=15), 表示测试数据组数. 对于每组测试数据: 第一行两个正整数N和C...原创 2019-11-17 18:16:40 · 147 阅读 · 0 评论 -
DP1
1】 假设共M级阶梯,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法? 假如已经知道当前第i层的方法数,加一步到i+1层,加两步到i+2层;方法数各加一;当前第i层只能是 前两层转过来的; 即dp[i]=dp[i-1]+dp[i-2]; 2】 题目描述 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 表示一个5行的数字三角形。假设给定一个n行数字三角形,计算...原创 2019-07-31 13:25:32 · 206 阅读 · 0 评论 -
DP3 状压DP 金陵十三钗
问题描述 在电影《金陵十三钗》中有十二个秦淮河的女人要自我牺牲代替十二个女学生去赴日本人的死亡宴会。为了不让日本人发现,自然需要一番乔装打扮。但由于天生材质的原因,每个人和每个人之间的相似度是不同的。由于我们这是编程题,因此情况就变成了金陵n钗。给出n个女人和n个学生的相似度矩阵,求她们之间的匹配所能获得的最大相似度。 所谓相似度矩阵是一个n*n的二维数组like[i][j]。其中i,j分...原创 2019-08-11 00:58:14 · 171 阅读 · 0 评论 -
区间DP 石子合并
在一条直线上有n堆石子,每堆有一定的数量,每次可以将两堆相邻的石子合并,合并后放在两堆的中间位置,合并的费用为两堆石子的总数。求把所有石子合并成一堆的最小花费。 输入 输入第一行包含一个整数n,表示石子的堆数。 接下来一行,包含n个整数,按顺序给出每堆石子的大小 。 输出 输出一个整数,表示合并的最小花费。 样例输入 5 1 2 3 4 5 样例输出 33 提示 1<=n<=1000,...原创 2019-08-12 18:51:57 · 286 阅读 · 1 评论 -
导弹拦截 DP 最长上升/下降子序列
某国为了防御敌国的导弹袭击,发展出一种导弹 拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的 导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。 输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹...原创 2019-08-12 22:00:53 · 118 阅读 · 0 评论