分层图
对于一些有限制次数的改变图上的边的题目,将原图复制若干份,也就是若干层,每层之间用特殊的边(题目给出的条件)连接起来,然后再跑最短路。
1.P4568 [JLOI2011] 飞行路线
条航线,我们便在原图的基础上再建立 张子图,共 张图,题目给出的特殊条件为转换边权使得其为 ,所以对于一条边 ,我们需要在第 张图之间连一条 的边,表示可以用一次机会使得该边边权变为 。图建完后,再跑一边最短路统计答案即可,注意 次机会不一定全部用完。
2.[ABC277E] Crystal Switches
考虑将初始可走与初始不可走的边分层,将有开关的点在两层之间连一条边权为 的边,跑最短路。
习题:
P4822 [BJWC2012] 冻结
P2939 [USACO09FEB] Revamping Trails G
P3119 [USACO15JAN] Grass Cownoisseur G
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步