算法 状压dp | 区间dp | 树形dp
状压dp
棋盘型状压, 重点考虑行与行之间的转移.
首先枚举每行可能的状态, 预处理出合法行状态.
可以选择预处理出行与行之间的合法转移
f[i][j]
代表处理完前i行, 第i行状态为j的xxx.转移方程通过枚举前状态k来实现, 看k是否可以合法转移为j
玉米田 : 十字型 + 地图机制
1 |
|
区间dp
环状区间dp
破环成链 + 区间dp
1 |
|
有关二叉树的区间dp
加分二叉树 : 给出中序遍历, 求出加分最高的二叉树并给出最高分和其前序遍历. 加分规则 : 根 + 左子树 * 右子树.
1 |
|
二维区间dp
dfs + 区间dp
棋盘划分
1 |
|
树形dp
树的直径
树的中心 : 求中心到其他所有点的最远距离, 中心是到所有点最远距离最小的点.
1 |
|
树形dp + 分组背包
二叉苹果树 : 给定一棵含有 n 个结点的树,树根编号为 1,且树上的每条边有一个边权 wedge j, 要求我们只保留树中的 m 条边,使得 树根 所在的 连通块 的所有边 边权之和 最大.
1 |
|
树形dp + 状态机
重点在于列举出状态, 以及状态之间的转移.
战略游戏 : 给出一个树, 一个人可以观察到所在点所连的所有边, 求观察到所有边的最小人数.
1 |
|
皇宫看守 : 给出一个树, 一个人可以观察到当前点和所有邻点, 花销为当前点对应花销, 求观察到所有点的最小花销.
1 |
|
算法 状压dp | 区间dp | 树形dp
http://example.com/2025/04/03/[算法] 状压dp 区间dp 树形dp/