3244. 新增道路查询后的最短距离 II 给你一个整数nn和一个二维整数数组queriesqueries。 有nn个城市,编号从00到n−1n−1。初始时,每个城市ii都有一条单向道路通往城市i+1(0<=i<n−1)i+1(0<=i<n−1)。 queries[i]=[ui,vi]queries[i]=[ui,vi] 表示新建一条从城市uiui到城市vivi的单向道...
Leetcode:3243. 新增道路查询后的最短距离 I 给你一个整数 n 和一个二维整数数组 queries。 有n 个城市,编号从 0 到 n - 1。初始时,每个城市 i 都有一条单向道路通往城市 i + 1( 0 <= i < n - 1)。 queries[i] = [ui, vi] 表示新建一条从城市 ui 到城市 vi 的单向道路。每次查询后,你...
力扣刷题——3244. 新增道路查询后的最短距离 II 是思路题,其实能想到的话是很简单的。首先,用3243的图遍历搜索方法肯定是会超时的,然后注意到用例跟3243不一样的是,询问集合里没有交集,那么就可以定下一个策略"在有捷径就走捷径的情况下,答案是最优的",这个策略在该题里是正确的。 因此可以通过计算捷径覆盖...
defshortPath(n,queries):# pre[i] 表示i 的所有前驱节点pre=[[i-1]foriinrange(n)]pre[0]=[]# dp[i] 表示从 0 到 i 的最短距离dp=[iforiinrange(n)]ans=[]for(u,v)inqueries:pre[v].append(u)forjinrange(v,n):forkinpre[j]:# 从前驱节点中更新最短距离dp[j]=min(dp[j],dp[k...
新增一条从 0 到 2 的道路后,从 0 到 4 的最短路径长度为 2。 新增一条从 0 到 4 的道路后,从 0 到 4 的最短路径长度为 1。 示例2: 输入:n = 4, queries = [[0, 3], [0, 2]] 输出:[1, 1] 解释: 新增一条从 0 到 3 的道路后,从 0 到 3 的最短路径长度为 1。