
spfa
zsyz_ZZY
Be the stronger one!
展开
-
luogu P1073 最优贸易
题目传送门:https://www.luogu.org/problemnew/show/P1073题意:有n个点,m条边(注意:双向边也算一条边),这些边可以是单向的,也可以是双向的。现在每一个点都有对应的价值的商品,你需要从1号点走到n号点,当然,你可以重复经过一些点,或一些边,求你能通过一次交易获得的最大价值,交易是指你在某一个点买下一件商品,到某一个点再卖出去,赚取差价。如果不能盈利,输出0...原创 2018-04-11 08:42:27 · 213 阅读 · 0 评论 -
loj #3087. 「GXOI / GZOI2019」旅行者
背景: 最近检查代码的能力越来越弱。 题目传送门: https://loj.ac/problem/3087 题意: 给一个有向图,再给定kkk个点,求这kkk个点对之间两两最短路的长度的最小值。 思路: 这种最短路的题一种想法就是正反跑spfa\text{spfa}spfa。 这道题也是。 设disidis_idisi表示从这kkk个点出发到iii的最短路的长度。 显然disdisd...原创 2019-06-26 21:23:27 · 299 阅读 · 0 评论 -
luogu P2865 [USACO06NOV]路障Roadblocks
背景: 好久之前的题目了......... 题目传送门: https://www.luogu.org/problemnew/show/P2865 题意: 求严格次短路。 思路: 本来是一道spfaspfaspfa傻逼题。 仔细一想发现好像之前的思路有问题,那就来细讲一下吧。 disi,0dis_{i,0}disi,0表示最短路,disi,1dis_{i,1}disi,1表示次短路。...原创 2019-04-12 14:02:47 · 298 阅读 · 0 评论 -
luogu P2294 [HNOI2005]狡猾的商人
背景: 终于又在高中部吃了一顿(差别好大)。 题目传送门: https://www.luogu.org/problemnew/show/P2294 题意: 满足几个月的收支情况,求是否存在解。 思路: 前缀的差分约束(一样的)。 此时超级原点便不能为000(30min30min30min被坑走了),因为1−1=01-1=01−1=0,一月份用到了000这个点。 代码: #inclu...原创 2019-03-28 14:01:35 · 360 阅读 · 0 评论 -
luogu P3275 [SCOI2011]糖果
背景: 数学竞赛二等,基本卡线(按照WJWJWJ的说法,过程怒扣20+pts20+pts20+pts),惨… (之前的看错题是假的) 题目传送门: https://www.luogu.org/problemnew/show/P3275 题意: 一些人,他们的权值满足一些关系,求权值和的最小值。 思路: 查分约束裸题。 但是有些坑,不知道为什么正常建边用spfaspfaspfa会超时(9...原创 2019-03-27 13:16:34 · 478 阅读 · 0 评论 -
luogu P4878 [USACO05DEC] 布局
背景: 早上溜到了机房… 题目传送门: https://www.luogu.org/problemnew/show/P4878 题意: nnn头奶牛,有一些限制条件:某两头奶牛之间的不小于或不大于某个值,求111到nnn好奶牛的距离的最大值。 思路: 显然是差分约束。 但是我们只是spfa(1)spfa(1)spfa(1)是不够的,这样只能满足111到nnn的结果,而队于从111出发无...原创 2019-03-30 09:17:30 · 226 阅读 · 0 评论 -
luoguP2387 [NOI2014]魔法森林
背景: 这一题是LCTLCTLCT,大雾… 题目传送门: https://www.luogu.org/problemnew/show/P2387 题意: nnn个点,mmm条边,每条边有两个权值,现在让你找到两个值使得它们分别大于从111到nnn的某一条路径上的两个值,要求这两个值的最小总和。 思路: 考虑最短路。 显然最短路无法维护两个值,不妨使得某一个值有序(升序),然后根据第二个...原创 2019-01-24 16:04:45 · 340 阅读 · 1 评论 -
luogu P3385 【模板】负环
题目传送门:https://www.luogu.org/problemnew/show/P3385题意:有n个点,m条边,求是否存在负环。坑处1:有负环,输出YE5(请看清楚),否则输出N0(请看清楚)。附:这是S,这是5;这是O,这是0。思路1:很明显用dfs判负环吗,这样更快。可是被卡了。代码:#include<cstdio> #include<cstring> #in...原创 2018-04-27 17:08:00 · 273 阅读 · 0 评论 -
luogu P3119 [USACO15JAN]草鉴定Grass Cownoisseur
题目传送门:https://www.luogu.org/problemnew/show/P3119题意:在一个有向图中,有n个点,m条边,可以逆行一条边,求从1走到任意点,再返回所经过的最多点的个数。思路:先缩点,再跑两边spfa。我们可以知道,缩完点后剩下的图中有三种点1.与1点直接相连;2.与1点通过反向边相连;3.与1点不相连。而因为题目说可以逆行一条边,所以3这种点是完全没有用的。而我们可...原创 2018-04-22 15:53:49 · 316 阅读 · 0 评论 -
luogu P1462 通往奥格瑞玛的道路
题目传送门:https://www.luogu.org/problemnew/show/P1462题意:有n个点,m条边,某人的血量为k,每一个点会收取对应的价值,而这个人走每一条边也会扣除血,求他能安全走到终点所经过城市中被收取费用最多的城市所收取的费用为多少。思路:二分价值x,每一次将得到的价值小于x的去类似于建边(标记一下是否可以选这条边),再跑spfa看看血量是否满足要求即可。(比较容易,...原创 2018-04-12 15:56:31 · 355 阅读 · 0 评论 -
luogu P2149 [SDOI2009]Elaxia的路线
题目传送门:https://www.luogu.org/problemnew/show/P2149题意:有n个点,m条边(可能有向,可能无向,一条无向边算一条边),有起始点x1,y1;x2,y2,求从x1走到y1和x2走到y2的最短路的最长公共路径。思路:如图,设dis[x][y]表示从点x到点j的最短路。则有:dis[s][t]=dis[s][i]+dis[i][j]+dis[j][t]设点i与...原创 2018-04-12 15:24:23 · 181 阅读 · 0 评论 -
luogu P3371 【模板】单源最短路径
题目传送门:https://www.luogu.org/problemnew/show/P3371题意:有n个点,m条边,一个起点st,求st到每个点的最短路径的长度。思路1:spfa。代码:#include<cstdio> #include<cstring> #include<queue> using namespace std; queue<int&g...原创 2018-04-16 20:15:55 · 316 阅读 · 0 评论 -
luogu P5340 [TJOI2019]大中锋的游乐场
背景: 昨晚志愿签名,然而镇区的同学感受到了开车两小时,签名一分钟。 题目传送门: https://www.luogu.org/problemnew/show/P5340 题意: 一个无向图,每一条边有一个长度,每一个点有一个值∈[−1,1]∈[-1,1]∈[−1,1],现在你要找到一条最短路径,使中间走过的点的权值和在任意时刻都∈[−k,k]∈[-k,k]∈[−k,k]。 思路: 好...原创 2019-06-29 10:25:34 · 201 阅读 · 0 评论