随笔分类 -  bfs

摘要:题面 这道题是一道不错的计数类DP; 首先我们一定要跑一遍dijkstra来求得每个点到1号点的最短路; 注意题干,题中并没有说所有点都可以到达n好点,只说了存在一条1号点到n号点的路径;所以我们在反向图上BFS求出那些点可以到达n号点; 然后就是dp。我们设计状态:f[u][rest]表示到达u号 阅读全文
posted @ 2019-10-05 10:32 神之右大臣 阅读(235) 评论(0) 推荐(0)
摘要:题面 大家都是两遍SPFA吗?我这里就一遍dp啊; 首先判断对于一个点u,是否可以从一号点走到这里,并且可以从u走到n号点; 对于这样的点我们打上标记; 那么抛出水晶球的点一定是从打上标记的点中选出一个;(自己可以理解一下) 然后跑一遍dp,dp[i]表示从点1到点i的若干条路径中,所经过的点的权值 阅读全文
posted @ 2019-08-21 15:58 神之右大臣 阅读(164) 评论(0) 推荐(0)
摘要:题面 先反向建边,这样以t为源点一遍bfs即可判断出哪个点不可以到达t点; 然后正向建边,以s为源点再一遍bfs计算距离;对于一个点u枚举其叶子结点v来判断u的子节点是否可以直接或间接到达t; 阅读全文
posted @ 2019-08-20 19:07 神之右大臣 阅读(160) 评论(0) 推荐(0)