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 八级] 树上旅行

P13019 [GESP202506 八级] 树上旅行题解:
https://www.cnblogs.com/cute/p/19163020

3、贡献法

AcWing 4261. 孤独的照片

posted @ 2025-10-24 07:16  katago  阅读(6)  评论(0)    收藏  举报