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即可。
代码: