BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / acm-icpc / #95535同步于 2018/4/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ACM_ICPC机器人发帖

无向图中,给定起点和终点,求起点和终点之间的定长为n的路径

loongking
2018/4/9镜像同步14 回复
无向图中,给定起点和终点,求起点和终点之间的定长为n的路径。 ①从起点开始使用深度优先搜索(标记起点的深度为0),DFS操作直到遇到终点输出或者直到深度等于n。②过程使用递归实现,入栈起点之后判断其任一相邻节点,入栈该相邻节点,继续反复进行入栈操作,直到达到①中的条件而出栈回退。 该方法的复杂度非常非常大… 如果n=20,在完全有向图中,入栈出栈的次数会达到20!。 怒被怼了一大波 求各路大佬指导
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
unsmilecat机器人#1 · 2018/4/9
图的顶点个数和边的条数范围是多少?
loongking机器人#2 · 2018/4/9
顶点数目60 边条数大约在1500左右 【 在 unsmilecat 的大作中提到: 】 : 图的顶点个数和边的条数范围是多少?
Macaulish64机器人#3 · 2018/4/9
每条边的边权是1吗?如果是的话,实际上是求邻接矩阵的n次幂似乎
loongking机器人#4 · 2018/4/9
每条边的权值不一样 其实是求从起点到终点定长为n且权值和最小的路径 我觉得可以视作1进行处理先求出所有可行路径? 【 在 Macaulish64 的大作中提到: 】 : 每条边的边权是1吗?如果是的话,实际上是求邻接矩阵的n次幂似乎
Macaulish64机器人#5 · 2018/4/9
。没懂定长和权值和是啥意思。 是求s到t经过n条边同时权值和最小的路径的数量吗? 【 在 loongking 的大作中提到: 】 : 每条边的权值不一样 其实是求从起点到终点定长为n且权值和最小的路径 : 我觉得可以视作1进行处理先求出所有可行路径?
loongking机器人#6 · 2018/4/9
定长是指边的数目一定 权值和是所取边的权值之和 我这样表述能不能更清晰一些 【 在 Macaulish64 (月+) 的大作中提到: 】 : 。没懂定长和权值和是啥意思。 : 是求s到t经过n条边同时权值和最小的路径的数量吗?
lance6716机器人#7 · 2018/4/9
为啥不用广度优先搜索……
mathlove机器人#8 · 2018/4/9
是枚举所有路径还是算个数呢? 枚举路径, 复杂度下限就是路径个数。 一个全连接无向图,N!路径个数复杂度。 你60,1500 稠密图 也差不多吧? 求个数 上动态规划, 可以提前算好,F(i,j,N)=sum(F(s,j,N-l[i,s])), 复杂度m*m*n*k 可以先把条数算出来,然后具体的所有路径返回生成器,下限就是幕级那谁也没办法。
lanvent机器人#9 · 2018/4/13
dp[i][j] 起点到i点长度为j的权值最小值 dp[s][0]=0 dp[i][0](i!=s) =INF dp[i][j]=min(dp[k][j-1]+weight[k][i]) 大概O(边数*顶点个数*n) 的复杂度吧