D. Determine Winning Islands in Race (cf div2,dp、图论最短路)

D. Determine Winning Islands in Race

思路:

bfs找到E到达每个点的最短时间t[i]。

如果E要超过B,那么一定要借助辅助桥,从而获胜。

假设有u->v的辅助桥,E能通过这个桥超过B的条件是:

s>u 且 t[v] < v-s

即 s的取值要为[u+1,v-t[v]-1]

遍历每个辅助桥,找到使E能够获胜的s区间[l,r],用差分数组来保存。最后E获胜输出0,否则输出1即可。

代码:
cpp 复制代码
相关推荐
冷眼看人间恩怨4 分钟前
【Qt笔记】QDockWidget控件详解
c++·笔记·qt·qdockwidget
菜鸡中的奋斗鸡→挣扎鸡6 分钟前
滑动窗口 + 算法复习
数据结构·算法
红龙创客13 分钟前
某狐畅游24校招-C++开发岗笔试(单选题)
开发语言·c++
Lenyiin15 分钟前
第146场双周赛:统计符合条件长度为3的子数组数目、统计异或值为给定值的路径数目、判断网格图能否被切割成块、唯一中间众数子序列 Ⅰ
c++·算法·leetcode·周赛·lenyiin
郭wes代码22 分钟前
Cmd命令大全(万字详细版)
python·算法·小程序
scan72437 分钟前
LILAC采样算法
人工智能·算法·机器学习
菌菌的快乐生活1 小时前
理解支持向量机
算法·机器学习·支持向量机
大山同学1 小时前
第三章线性判别函数(二)
线性代数·算法·机器学习
axxy20001 小时前
leetcode之hot100---240搜索二维矩阵II(C++)
数据结构·算法
黑客Ash2 小时前
安全算法基础(一)
算法·安全