[BZOJ1663] [Usaco2006 Open]赶集(spfa最长路)


传送门

按照时间t排序

如果 t[i] + map[i][j] <= t[j],就在i和j之间连一条边

然后spfa找最长路

#include <queue>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define N 401using namespace std;int n, ans, cnt;int a[N][N], map[N][N], dis[N], head[N], to[N * 100], next[N * 100];bool vis[N];queue <int> q;struct nodep[N];inline int read()inline bool cmp(node x, node y)inline void spfa()}}}}inline void add(int x, int y)int main()

  



上一篇:[TyvjP1519] 博彩游戏(AC自动机 + DP)

下一篇:[BZOJ1583] [Usaco2009 Mar]Moon Mooing 哞哞叫(队列)


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