[luoguP3110] [USACO14DEC]驮运Piggy Back(SPFA || BFS)


传送门

以 1,2,n 为起点跑3次 bfs 或者 spfa

那么 ans = min(ans, dis[1][i] * B + dis[2][i] * E + dis[3][i] * P) (1 <= i <= n)

#include <queue> #include <cstdio> #include <cstring> #include <iostream> #define N 01 #define LL long long #define min(x, y) ((x) < (y) ? (x) : (y)) int B, E, P, n, m, cnt; int dis[4][N], head[N], to[N << 1], next[N << 1]; bool vis[N]; std::queue <int> q; LL ans = ~(1 << 31); inline int read() inline void add(int x, int y) inline void spfa(int s, int k) } } } } int main() spfa(1, 1); spfa(2, 2); spfa(n, 3); for(i = 1; i <= n; i++) ans = min(ans, (LL)(dis[1][i] * B + dis[2][i] * E + dis[3][i] * P)); printf("%lld\n", ans); return 0; }

  



上一篇:[luoguP2073] 送花(set)

下一篇:【模板】高斯消元法


spfa 最短路 bfs
Copyright © 2002-2019 k262电脑网 www.k262.cn 皖ICP备2020016292号
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!QQ:251442993 热门搜索 网站地图