随笔分类 -  图论--SPFA

摘要:"传送门" 首先这个题目显然就是先求出所有的 $border$,问题转化成一个可行性背包的问题 一个方法就是同余类最短路,裸跑 $30$ 分,加优化 $50$ 分 首先有个性质 $border$ 分成的等差数列的个数不超过 $log$ 和回文树的性质的证明类似~~瞎画图一下就行了~~ 我们注意到可以 阅读全文
posted @ 2019-01-15 09:23 Cyhlnj 阅读(385) 评论(1) 推荐(1)
摘要:题面 "传送门" Sol 消圈定理:如果一个费用流网络的残量网络有负环,那么这个费用流不优 于是这个题就可以建出残量网络,然后分数规划跑负环了 阅读全文
posted @ 2018-05-30 22:09 Cyhlnj 阅读(164) 评论(0) 推荐(0)
摘要:题面 "传送门" 分数规划 分数规划有什么用? 可以把带分数的最优性求解式化成不带除发的运算 假设求max{$\frac{a}{b},b 0$} 二分一个权值$k$ 令$\frac{a}{b}\le k$那么$a k b\le 0$ 如果得出来$a k b$的最大值大于$0$,那么$k$可以变大 否 阅读全文
posted @ 2018-05-30 22:05 Cyhlnj 阅读(158) 评论(0) 推荐(0)
摘要:题面 "传送门" Sol 我们可以考虑每种$rank$的点$u$会被哪些点$v$感兴趣 如果$dis[u][v] define RG register define IL inline define Fill(a, b) memset(a, b, sizeof(a)) using namespace 阅读全文
posted @ 2018-04-03 09:26 Cyhlnj 阅读(131) 评论(0) 推荐(0)
摘要:题面 "传送门" Sol 和这道题很像 "Luogu跳楼机" 找到最小的那个$a[i]$设为$mn$ $SPFA$算出得到每个值为$i$的是否能凑出来,设为$f[i]$ 实际上$i$变成$i\%mn$,所有的这一类都可以通过$mn$这个桥梁得到 那么直接求到$i\%mn$就好了 最后统计$[0, B 阅读全文
posted @ 2018-04-02 14:56 Cyhlnj 阅读(154) 评论(0) 推荐(0)
摘要:题面 "传送门" Sol 有一个显然的想法 处理出$y, z$能凑出的高度 然后这些高度凑一些$x$就可以得到其它的高度 那么可以把这些$y, z$凑出的高度对$x$取模,其它的用$x$来填补 所以设$f[i]$表示$y, z$凑出高度$\%x$为$i$需要的最低高度 那么答案就是 $$\sum_{ 阅读全文
posted @ 2018-04-02 14:24 Cyhlnj 阅读(147) 评论(0) 推荐(0)
摘要:题面 "传送门" Sol 显然是求这样一个东西 绿色的线为分割线,左上海拔为$0$,右下为$1$ 分隔线经过的边就是贡献的答案 那么这就是平面图最小割,转成对偶图求最短路就好了 $SPFA$真心慢,以后还是跑$Dijstra$ cpp include define RG register defin 阅读全文
posted @ 2018-03-31 20:26 Cyhlnj 阅读(154) 评论(0) 推荐(0)
摘要:Sol 发现$NOIP2017$还没$AK$??? 赶紧改 考场上明明打出了$DP$,没时间了,没判环,重点是没初始化数组,爆$0$ $TAT$ 先最短路,然后$f[i][j]$表示到$i$时,比最短路大$j$的方案 大力记搜就好了 判环就记录一下当前转移的是否在栈中就没了 明明这么简单,可我就是与 阅读全文
posted @ 2018-03-29 20:25 Cyhlnj 阅读(163) 评论(2) 推荐(1)
摘要:题面 "传送门" Sol 先$SPFA$求出单源最短路,$Bfs$建出树,字典序可以用堆解决 然后就是点分治的一眼题 开桶记录到当前根经过边长度相同的最长路,记录它的长度 自己强行$yy$了一个这种类型的点分丑陋写法 cpp include define RG register define IL 阅读全文
posted @ 2018-02-26 14:54 Cyhlnj 阅读(180) 评论(0) 推荐(0)
摘要:如果只会用最小割做这道题那就太菜辣 引入 来自某学长 平面图:在平面上边不相交的图(边可以绕着画) 那么平面图的边与边就围成了许多个区域(这与你画图的方式有关) 定义对偶图:把相邻的两个区域连上边,形成的图 两个~~可能~~正确的东西: 对偶图$\in$平面图 平面图的对偶图的对偶图是它自己 知道这 阅读全文
posted @ 2018-02-05 18:23 Cyhlnj 阅读(656) 评论(0) 推荐(0)
摘要:分层图,k只有10,每个k一层图 跑费用流,但容量为1,所以就是SPFA # include <bits/stdc++.h> # define RG register # define IL inline # define ID(a, b, c) ((c) * N * N + (a - 1) * N 阅读全文
posted @ 2018-01-03 15:22 Cyhlnj 阅读(669) 评论(0) 推荐(0)
摘要:题意 给你n个点,m条边,要求每条边只能走一次的S到T的最短路径的个数 题解 在我又WA又TLE还RE时,yyb大佬告诉我说要跑两遍SPFA,还说我写的一遍SPFA是错的,然而 啪啪打脸。。。 而且他的 比我跑得慢,2333 接下来讲一下方法 首先一遍SPFA(或dijkstra)从S跑一遍到所有点 阅读全文
posted @ 2017-07-29 20:12 Cyhlnj 阅读(187) 评论(0) 推荐(0)
摘要:题面: Description Siruseri城中的道路都是单向的。不同的道路由路口连接。按照法律的规定,在每个路口都设立了一个Siruseri银行的ATM取款机。令人奇怪的是,Siruseri的酒吧也都设在路口,虽然并不是每个路口都设有酒吧。 Banditji计划实施Siruseri有史以来最惊 阅读全文
posted @ 2017-07-16 11:24 Cyhlnj 阅读(187) 评论(0) 推荐(0)