CSP 分类练习题单
1、状态最短路
状态最短路的思路与动态规划相似:把“节点 × 状态”视作扩展图上的新节点,在这张“扩展图”上跑最短路。
朴素的最短路只需要一个一维数组 dis[v] 表示从源点到 v 的最短距离。
状态最短路则是二维甚至多维数组,例如 dis[state][v] 表示“当 v 处于某个状态 state 时”的最短距离。
例如 2019 J 组 D 题《加工零件》,状态是按步数奇偶划分;
2023 J 组 D 题《旅游巴士》,状态是按模 k 划分。
这两道题的状态都是最短路取模上一个值代表状态,比较容易理解,大家可以用来参考学习。
“加工零件”没有边权,所以直接用队列 BFS 即可。
“旅游巴士”是带权图上的状态最短路。
加工零件
https://www.luogu.com.cn/problem/P5663
旅游巴士
https://www.luogu.com.cn/problem/P9751
加工零件参考题解:
https://www.acwing.com/solution/content/6409/
2、倍增
P13019 [GESP202506 八级] 树上旅行题解:
https://www.cnblogs.com/cute/p/19163020

浙公网安备 33010602011771号