题解

1 条题解

  • 0
    @ 2025-06-09 15:53:52

    设dp[i][j] 表示从1走到i 的时间 mod k=j 时的最短时间

    则有答案为 dp[n][0]

    对于边 u->v 的转移为(松弛操作)

    [u,mod]=q.front();

    for(int k=0;k<g[u].size();k++){
    v=g[u][k],t=a[u][k];
    if(dist[u][mod]+1<=t)
    if(dist[u][mod]+1<dist[v][(mod+1)%K])
    dist[v][(mod+1)%K]=dist[u][mod]+1;
    else{
    if(t<dist[u][t%K])
    dist[u][t%K]=t;
    }

    }

  • 1

信息

ID
2845
难度
10
分类
图结构 | 最短路 点击显示
标签
递交数
2
已通过
0
通过率
0%
被复制
2
上传者