一种解题技术和算法设计方法。
这不是递推法/DP 的第一课,我们不会从头讲起。
有
从前
这里,
把答案记作
目标:
边界条件:
递推式:
给你一个长为
求把
把
这里
目标:
边界条件:
怎么找递推式?
考虑把
有「批量添加」和「连续添加」两个选择,但是添加多少项却有
注意到
所以添加的项数越大越好。
又称鬼脚图、爬梯游戏,是一种游戏,也是一种简易决策方法,常被拿作抽签或决定分配组合。
先画几条平行的竖线,再画一些横线,每条横线连接相邻两条竖线。两条横线不能相交。
玩法:
有
输出答案模

用一对整数
初始位置
设当前位置是
各行相互独立。从上到下考虑每一行。
边界条件:
转移:
apiadu 正在与一头巨龙进行决战。这场战斗将持续
在第
apiadu 的初始攻击力为
请你帮他计算能造成的最多伤害。
序列有两种子结构,前缀(用一个参数描述)和区间(用两个参数描述)。
有
太郎要从
求所选物品的价值之和的最大值。
虽然这是个古老的问题,也许有人不知道,这里再提一下。
从前
这里,
注意到
从前
这里,
把这个问题的答案记作
边界条件:
递推式:对
有
两种方案不同当且仅当选择的木棍的下标集合不同,即存在
所有木棍的长度之和大于所有木棍的长度的最大值的两倍,即
把木棍按长度从小到大排序,以下假设有
设所选的编号最大的那一根木棍,也就是最长的那一根,的编号是
考虑 DP。
边界条件
递推式
最终答案
高桥为 Snuke 准备了
高桥可以把这些盒饭任意排列。Snuke 会按高桥排好的顺序吃这些盒饭,吃完一个盒饭之后,如果 Snuke 吃的鱼丸的总数大于
高桥想让 Snuke 吃掉的盒饭的数量尽可能多。求 Snuke 最多能吃掉多少个盒饭。
Snuke 至少吃一个盒饭。
在吃最后一个盒饭之前,他吃的鱼丸不超过
假设在吃的鱼丸不超过
我们可以用背包类型的动态规划来求
有
每人有一个强度值,人
必要条件 1:
令
必要条件 2:
把前
把它的答案记作
这里
目标:
边界条件:
递推式:
商店里有
你要从这些商品中买一些(可以一个都不买)。所买物品的价格之和不得超过
你的满意度是
求最大满意度。
把
考虑两种情况:
把物品按颜色分组。一次处理一批同色的物品。
从颜色是
把答案记作
目标:
边界条件:
递推式:
对每种颜色
给你
一组整数的极差是最大值减最小值。
3 2
2 5 3
3
分组方法:
把
有多少种方法?
注意到
目标:
边界条件:
考试有两场。第
要选
求选人方案数,模
把
例如,
问题变成
考虑 DP。
从
给定整数序列
要使
设想我们已经选定了要放到前
要把
应该把
一共要操作
答案:满足
边界条件:
递推式:
已知未来
每天,小明可以进行以下两种交易任意多次:
每天卖出纪念品换回的金币可以立即用于购买纪念品。
小明会在第
「第一天买一个纪念品,第三天卖」相当于
「第一天买,第二天卖,第二天买,第三天卖」。
所有可能的操作都可变换为
第一天买纪念品的目标应是让所买的纪念品在第二天卖出后收益最大。
Emiya 掌握
Emiya 做的每道菜都将使用恰好一种烹饪方法与恰好一种主要食材。Emiya 会做
Emiya 今天要做
求做菜方案数,模
对于每一种主要食材
递推式
边界条件
商店里有
高桥想要
他重复下述操作直到买齐他想要的商品。
令
为当前尚未卖出去的商品的数量。选择一个整数 满足 ,买剩余物品中编号第 小的那个物品,花的钱是那个物品的价格再加上 元。
求高桥最少要花多少钱。
高桥也可以买他不想要的物品。
这里,
状态
才合理。
若状态
目标:
边界条件:
递推式:对
你在玩一个卡牌游戏。一开始,你有
卡牌
一张牌只能用一次。不能让能量变成负数。
在以上规则下,你可以从手牌中任意选择若干张,按任意顺序使用。
计算你能造成的最大总伤害。
如果已经选定了要打出的牌,按什么顺序出牌消耗的能量最少?
按初始费用从高到低的顺序出牌。
把卡牌按初始费用从大到小排序。
考虑 DP。
状态太多。
“每打出一张牌后,剩下的牌的费用乘以
有
高桥要选一些物品放进一个容量是
高桥想要选一些物品放进背包使得所有种类的总满意度最大而总重量不超过
最多能选
令
整理成
把
对
求一些一次函数(直线)在某一点处的函数值的最大值。
例子:
考虑两个一次函数
存在
求
求
考虑按
假设我们维护了一列对求值点
那么
现在直线
设
有
从这些硬币中选出一些使得选中硬币的总价值恰好为
答案模
如果对于任意一种硬币,两个方案选中的数量不同,那么算作两种不同方案。
有
第
对于每个
张卡片正面向上放在桌面上。你可以把一些(可以是零张)卡片翻转(反转过后,卡片背面向上)。
为了让所有卡片向上那一面上的数字之和等于,最少要翻转多少张卡片?
如果无法通过翻转卡片让所有卡片向上那一面上的数字之和等于,输出 。
给定整数
有
我们要从一共
对每个
在本题的限制条件下,对每个
# [abc375_e](https://atcoder.jp/contests/abc375/tasks/abc375_e) 3 Team Division
(CSP-S 2019 D2T1)
# [abc288_e](https://atcoder.jp/contests/abc288/tasks/abc288_e) Wish List
# [abc373_f](https://atcoder.jp/contests/abc373/tasks/abc373_f) Knapsack with Diminishing Values