p3393专题

P3393 逃离僵尸岛 bfs +最短路

P3393 逃离僵尸岛 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路:bfs处理出高收费城市,将价格作为点权,将点权当作边权跑最短路。由于到达 v v v,且 v v v不是终点,那么还要再走这个时候需要在该点休息,但是如果是终点就不用再休息,可以将终点点权为0。 易错点: 开long longbfs没用设置vis数组(脑子糊涂了,想着不全部遍历一遍可能有遗漏,却忘

P3393 逃离僵尸岛

Portal. 建一个虚拟节点 0 0 0 号节点(一种很常用的思路),把这个点与所有被僵尸占领的点都连一条边权为 1 1 1 的边,跑一遍从 0 0 0 开始的 Dijkstra,对于一个点如果得到的 dis 数组值小于等于 S + 1 S+1 S+1,那么就是危险城市。 然后跑一遍 Dijkstra,如果到达点为危险城市,边权为 Q Q Q;如果到达点为起点或终点,边权为 0