图论,蒟蒻求题解

学术版

ddlove2014 @ 2024-11-29 05:55:40

玩家在和他的好朋友玩你追我跑的游戏 若玩家主动碰到好朋友就会输掉比赛, 好朋友下一秒会来到上一秒玩家的位置,玩家早于好朋友移动,这轮时间一共k秒,若k秒时间到则玩家胜利 这间屋子有n个点可以走 ,有m条通道(均为单向) 现在小L想知道玩家从t点开始能否撑过k

模拟下:

1 -> 2 -> 3

从1点开始, 第1秒:玩家:1 好朋友:未出现 第2秒:玩家:2 好朋友:1 第3秒:玩家:3 好朋友:2 第4秒开始,玩家无路可逃,只能被好朋友抓住了 所以从1点开始可最多一轮3秒时间,玩家就会被抓住了。

保证无重边,自环

可能有环. 站外题,不会做,大佬们给个思路


by bsdsdb @ 2024-11-29 07:51:14

@ddlove2014 先判环,有就能撑过去,否则就是DAG,做个DAG上dp求最长路


by ymx2009 @ 2024-11-29 07:54:17

@bsdsdb 必须要大于二的环才行吧


by bsdsdb @ 2024-11-29 07:55:00

楼上说的对


by ddlove2014 @ 2024-11-29 16:04:47

@bsdsdb 但是不一定能连到环中点啊,那这时怎么办?


by bsdsdb @ 2024-11-29 16:07:36

@ddlove2014 我补刀啊


by bsdsdb @ 2024-11-29 16:09:33

@ddlove2014 哦好朋友只会跟着走吗,那就直接搜就行了,一个点没出搜索栈就又被搜过了说明有环


by ddlove2014 @ 2024-11-29 16:11:21

@bsdsdb 那怎么判断某个点可以到达环中点啊?


by bsdsdb @ 2024-11-29 16:13:55

@ddlove2014 搜到了就到了啊,可以记个vis


by ddlove2014 @ 2024-11-29 16:15:28

@bsdsdb !有道理!,我刚才想到了FLOYD,给我1h,我写下代码


by bsdsdb @ 2024-11-29 16:16:32

@ddlove2014 直接搜一遍不是 \mathcal O(n) 搞定了吗


上一页 |