HDU - 4725The Shortest Path in Nya Graph【巧妙构图】
题意
t组样例,首先输入n,m,d,表示n个点,m个边,每相邻两层的权值d,下面是n个数,表示第i个点在第a[i]层,下面是m条边,每条边包含三个数u,v,w,表示双向联通点,u,v,之间的权值w,每相邻两层的任意点距离都是d问:点1到点n是否连通,连通的话输出最短距离,否则输出-1.
思路:我们当然可以想到dijkstra(),直接连通相邻层数的所有点,权值为d,但点的个数1e5,开不了那么大的数组,我们可以构建虚拟节点,使每层的虚拟节点与每层的点的权值为零,和相邻层的虚拟节点的权值为d,建图然后模.
原创
2020-10-24 06:23:50 ·
124 阅读 ·
0 评论