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 复制代码
相关推荐
minji...31 分钟前
C语言 函数递归
c语言·开发语言·算法
你好我是咯咯咯33 分钟前
代码随想录算法训练营Day36
算法
uhakadotcom41 分钟前
如何用AI打造高效招聘系统,HR效率提升100%!
后端·算法·面试
虾球xz1 小时前
游戏引擎学习第246天:将 Worker 上下文移到主线程创建
c++·学习·游戏引擎
纪元A梦1 小时前
华为OD机试真题——绘图机器(2025A卷:100分)Java/python/JavaScript/C++/C/GO最佳实现
java·javascript·c++·python·华为od·go·华为od机试题
Felven2 小时前
A. Everybody Likes Good Arrays!
数据结构·算法
huangyuchi.2 小时前
【C++11】Lambda表达式
开发语言·c++·笔记·c++11·lambda·lambda表达式·捕捉列表
什么半岛铁盒2 小时前
Linux线程与进程:探秘共享地址空间的并发实现与内
linux·c++
AI_RSER3 小时前
基于 Google Earth Engine 的南京江宁区土地利用分类(K-Means 聚类)
算法·机器学习·分类·kmeans·聚类·遥感·gee
智践行3 小时前
ROS2 Jazzy:创建自定义的消息和服务接口(C++)
c++·操作系统